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