API Gateway で WebSocket API をデプロイする
WebSocket API を作成したら、この API をデプロイしてユーザーが呼び出せるようにする必要があります。
API をデプロイするには、API デプロイを作成し、それを ステージに関連付けます。各ステージは、API のスナップショットであり、クライアントアプリが呼び出し可能になります。
重要
API を更新するたびに、API を再デプロイする必要があります。ステージ設定以外の変更には、以下のリソースへの変更も含めて、再デプロイが必要です。
ルート
統合
オーソライザー
API ごとのステージ数は、デフォルトで 10 個に制限されています。デプロイでステージを再利用することをお勧めします。
デプロイされた WebSocket API を呼び出すため、クライアントはメッセージを API の URL に送信します。URL は、API のホスト名とステージ名によって決定されます。
注記
API Gateway は最大 128 KB までのペイロードをサポートし、最大フレームサイズは 32 KB です。メッセージが 32 KB を超えた場合は、それぞれを 32 KB 以下の複数のフレームに分割する必要があります。
API のデフォルトドメイン名を使用すると、特定のステージ (
) の WebSocket API の URL は、たとえば次の形式になります。{stageName}
wss://
{api-id}
.execute-api.{region}
.amazonaws.com/{stageName}
WebSocket API のデフォルトのベース URL をよりユーザーフレンドリなものにするには、カスタムドメイン名 (例: api.example.com
) を作成し、API のデフォルトのホスト名と置き換えることができます。設定プロセスは、REST API と同じです。詳細については、「API Gateway での REST API のカスタムドメイン名」を参照してください。
ステージを使用すると、API の堅牢なバージョン管理が可能になります。たとえば、API を test
ステージと、prod
ステージにデプロイし、test
ステージをテストビルドとして使用し、prod
ステージを安定したビルドとして使用できます。更新がテストに合格したら、test
ステージを prod
ステージに昇格させることができます。昇格は、prod
ステージに API を再デプロイすることで実行できます。ステージの詳細については、「API Gateway で REST API のステージをセットアップする」を参照してください。
AWS CLI を使用して WebSocket API デプロイを作成する
AWS CLI を使用してデプロイを作成するには、次の例に示すように create-deployment コマンドを実行します。
aws apigatewayv2 --region us-east-1 create-deployment --api-id aabbccddee
出力例:
{ "DeploymentId": "fedcba", "DeploymentStatus": "DEPLOYED", "CreatedDate": "2018-11-15T06:49:09Z" }
このデプロイをステージに関連付けるまで、デプロイされた API は呼び出し可能ではありません。新しいステージを作成するか、以前に作成したステージを再利用できます。
新しいステージを作成してデプロイと関連付けるには、次の例に示すように create-stage コマンドを使用します。
aws apigatewayv2 --region us-east-1 create-stage --api-id aabbccddee --deployment-id fedcba --stage-name test
出力例:
{ "StageName": "test", "CreatedDate": "2018-11-15T06:50:28Z", "DeploymentId": "fedcba", "DefaultRouteSettings": { "MetricsEnabled": false, "ThrottlingBurstLimit": 5000, "DataTraceEnabled": false, "ThrottlingRateLimit": 10000.0 }, "LastUpdatedDate": "2018-11-15T06:50:28Z", "StageVariables": {}, "RouteSettings": {} }
既存のステージを再利用するには、update-stage コマンドを使用して、ステージの deploymentId
プロパティを、新しく作成したデプロイ ID (
) で更新します。{deployment-id}
aws apigatewayv2 update-stage --region
{region}
\ --api-id{api-id}
\ --stage-name{stage-name}
\ --deployment-id{deployment-id}
API Gateway コンソールを使用して WebSocket API デプロイを作成する
API Gateway コンソールを使用して WebSocket API のデプロイを作成するには、次の作業を行います。
-
API Gateway コンソールにサインインし、API を選択します。
-
[API のデプロイ] を選択します。
-
ドロップダウンリストから目的のステージを選択するか、新しいステージの名前を入力します。