🙌

APIゲートウェイと関数URL

2023/02/19に公開

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を使用する方が簡単です。

GitHubで編集を提案

Discussion