API Gatewayの概要整理(AWS)

AWS
この記事は約3分で読めます。
スポンサーリンク

概要

API GatewayはREST、HTTP、WebSocket APIを作成するサービスです。
例えば、Lambdaでサーバーレス構成を作成する場合にLambdaをどのように実行するか(どのようにトリガーを送信するか)という課題があります。
システム連携であれば何とかなりますが、Webシステムとして一般公開する場合はユーザーからブラウザでアクセスした場合にLambdaへトリガーを送る方式が検討課題となります。
API GatewayはWebサーバーのようにユーザーからHTTPSのリクエストを受け付けます。
受け付けたリクエストをLambdaに送信して所持を実行します。
Lambdaがアプリ実行環境としてのマネージドサービスだとしたら、API GatewayはWebサーバーのマネージド環境だと思えば分かりやすいでしょう。
Amazon API Gateway とは何ですか?

ステートフル(セッション張りっぱなし)の場合はWebSocketを採用するしかありません。
ではステートレスではREST/HTTPのどちらを使用すべきか?という検討が必要になります。
個人的にはRESTを基準に考えた方が良いと思います。
HTTP API と REST API 間で選択する

HTTP API

HTTP APIは簡単に言うとURLのパスに対するリクエストをLambdaに転送します。
REST APIはGET/POSTなどのメソッドとの組み合わせでのコントロールできますが、HTTP APIはそれを省略しています。
HTTP API のルートの使用

REST API

REST APIはURLパスとメソッド(GET/POST等)の組み合わせで後段のLambda等にリクエストをルーティングします。
REST APIではエンドポイントタイプを指定する必要があります。
これはREST APIの外部向けインターフェースの種類になります。
「エッジ最適化APIエンドポイント」はCloudFrontに対して転送し、近いリージョンのAPI Gatewayにルーティングします。
CloudFrontは内部的に使用されるので、設定等を行うことはできません。
「リージョン API エンドポイント」はAPI Gatewayを特定のリージョンに作成します。
「プライベート API エンドポイント」はVPCからのみアクセス可能なエンドポイントです。
この場合、外部からアクセスすることができません。
API Gateway API に対してセットアップするエンドポイントタイプを選択する

WebSocket API

WebSocket API はステートフルのため、双方向での通信が可能となります。

使用量プランとAPIキー

使用量プランはAPI Gatewayのメソッドに対してアクセス数の上限を指定する機能です。
使用量プランとAPIキーを紐付け、APIキーをメソッドに対して指定することにより上限を指定します。
API キーを使用した使用量プランの作成と使用

コメント

タイトルとURLをコピーしました