APIゲートウェイと関数URL
APIゲートウェイと関数URL
どちらも Lambda の関数を実行するために使用できるサービスですが、どのような違いがあるのかをまとめました。
APIゲートウェイ
公式サイトでは、以下のように説明されています。
Amazon API Gateway は、あらゆる規模の REST、HTTP、および WebSocket API を作成、公開、維持、モニタリング、およびセキュア化するための AWS のサービスです。
複数のバックエンドサービスを統合・管理して、1 つの API として公開するために使用するサービスです。
API Gateway を使用することで、バックエンドサービスの変更に対して、API Gateway の設定を変更するだけで済むようになります。
HTTP・REST・WebSocket・MQTT に対応しています。
また、細かい設定が可能であるため、セキュリティレベルを高めることができます。
欠点として設定が少し複雑になる点やパフォーマンスも関数 URL に比べて劣るとされていることがあげられます。
関数URL
公式サイトでは、以下のように説明されています。
関数 URL は、Lambda 関数のための専用 HTTP エンドポイントです。
こちらは、ひとつの Lambda 関数を公開するために使用するサービスです。
また、2022 年に新たに公開された比較的新しいサービスです。
※ブログより引用。
細かい設定をしない分、簡単でパフォーマンスも良いとされています。
欠点として、あくまでも単一の Lambda 関数を公開するためのサービスであるため、複数のバックエンドサービスを統合・管理できません。
また、WebSocket や MQTT には対応していません。
相違点
API ゲートウェイは比較的大規模なサービスで、複数のバックエンドサービスを管理する役割を担うのに対して、関数 URL はひとつの Lambda 関数を公開するためのサービスです。
また、API ゲートウェイは REST だけでなく、WebSocket や MQTT にも対応しています。
API ゲートウェイを使用する利点として、複雑な設定をできることにあります。
また、セキュリティの設定も細かく行うことができるため、より安全に API を公開できます。
関数 URL を使用する利点として、簡単に Lambda 関数を公開できることにあります。
また、簡単な構成であるためパフォーマンスも良いとされています。
欠点はその逆で、API ゲートウェイを使用する場合は、比較的複雑な設定をする必要があります。
また、パフォーマンスも関数 URL に比べて劣るとされています。
ただ単に Lambda 関数を公開したいだけの場合は、関数 URL を使用する方が簡単です。
Discussion