Amazon API Gateway

REST API、HTTP API、WebSocket API を作成・公開・管理するフルマネージドサービスで、Lambda や他の AWS サービスへのフロントドアとして機能する

概要

Amazon API Gateway は、あらゆる規模の API を作成、公開、保守、モニタリング、保護するためのフルマネージドサービスです。REST API、HTTP API、WebSocket API の 3 種類をサポートし、Lambda 関数、EC2 インスタンス、任意の HTTP エンドポイントをバックエンドとして接続できます。API キー管理、使用量プラン、スロットリング、リクエスト/レスポンスの変換、Cognito や IAM による認証・認可、カスタムドメイン名の設定など、API 管理に必要な機能を包括的に提供します。HTTP API は REST API より低コスト (約 70% 安価) かつ低レイテンシで、シンプルな API プロキシに適しています。WebSocket API はリアルタイム双方向通信をサポートし、チャットアプリケーションやライブダッシュボードの構築に利用できます。

REST API と HTTP API の選択基準

API Gateway には REST API と HTTP API の 2 つの HTTP ベースの API タイプがあり、要件に応じて選択します。REST API はリクエスト/レスポンスの変換 (マッピングテンプレート)、API キーと使用量プランによるアクセス制御、リクエストバリデーション、キャッシュ機能、WAF 統合、カナリアリリースなどの高度な機能を備えています。エンタープライズ向けの API や、複雑なリクエスト変換が必要な場合に適しています。HTTP API はこれらの高度な機能の一部を省略する代わりに、料金が REST API の約 30% (100 万リクエストあたり約 1.29 ドル vs 約 4.25 ドル) で、レイテンシも低くなります。JWT オーソライザー、CORS の自動設定、OpenID Connect / OAuth 2.0 統合をネイティブサポートしており、Lambda や HTTP バックエンドへのシンプルなプロキシとして十分な機能を持っています。

Azure API Management との比較

Azure で API Gateway に対応するサービスは Azure API Management (APIM) です。API Gateway がサーバーレスアーキテクチャの一部として Lambda との統合を重視するのに対し、Azure APIM はより広範な API ライフサイクル管理 (設計、公開、バージョニング、開発者ポータル) に焦点を当てています。Azure APIM には開発者ポータルが標準で含まれており、API ドキュメントの公開やサブスクリプション管理が可能ですが、API Gateway にはこの機能がなく、別途ドキュメントサイトを構築する必要があります。料金面では、API Gateway の HTTP API は 100 万リクエストあたり約 1.29 ドルの完全従量課金であるのに対し、Azure APIM の Consumption プランは 100 万呼び出しあたり約 4.24 ドルで、Developer プラン以上は月額固定費 (約 55 ドルから) が発生します。API Gateway は使用していない時間のコストがゼロになるため、トラフィックが不定期なワークロードではコスト効率が高くなります。