API Gateway で REST API をデプロイする - Amazon API Gateway

API Gateway で REST API をデプロイする

API を作成したら、この API をデプロイしてユーザーが呼び出せるようにする必要があります。

API をデプロイするには、API デプロイを作成し、それを ステージに関連付けます。ステージは、API のライフサイクル状態への論理的なリファレンスです (例:devprodbetav2) 。API ステージは API ID とステージ名によって識別されます。これらは、API を呼び出すために使用する URL に含まれています。各ステージは、API のデプロイの名前付きリファレンスで、クライアントアプリケーションから呼び出すことができます。

重要

API を更新するたびに、API を既存のステージまたは新しいステージに再デプロイする必要があります。API の更新には、ルート、メソッド、統合、オーソライザー、リソースポリシーなど、ステージ設定以外のすべての変更が含まれます。

API が進化するにつれて、API の異なるバージョンとしてさまざまなステージにデプロイし続けることができます。API アップデートは、Canary リリースデプロイとしてデプロイすることもできます。これにより、API クライアントは、同じステージで、プロダクションリリースからプロダクションバージョン、および Canary リリースから更新されたバージョンにアクセスできます。

デプロイされた API を呼び出すために、クライアントは API の URL に対してリクエストを送信します。URL は、API のプロトコル (HTTP(S) または (WSS))、ホスト名、ステージ名、および (REST API の場合) リソースパスによって決定されます。ホスト名とステージ名によって、API のベース URL が決まります。

API のデフォルトドメイン名を使用すると、特定のステージ ({stageName}) の REST API のベース URL (たとえば) は、次の形式になります。

https://{restapi-id}.execute-api.{region}.amazonaws.com/{stageName}

API のデフォルトのベース URL をよりユーザーフレンドリなものにするには、カスタムドメイン名 (たとえば、api.example.com) を作成し、API のデフォルトのホスト名と置き換えることができます。カスタムドメイン名で複数の API をサポートするには、API ステージをベースパスにマッピングする必要があります。

{api.example.com} のカスタムドメイン名と API ステージがカスタムドメイン名の下の ({basePath}) ベースパスにマップされると、REST API のベース URL は次のようになります。

https://{api.example.com}/{basePath}

ステージごとに、アカウントレベルのデフォルトのリクエストスロットリング制限を調整し、API キャッシュを有効にすることで、API のパフォーマンスを最適化できます。また、API コールのログを CloudTrail や CloudWatch に記録し、バックエンドで API リクエストを認証するためのクライエント証明書を選択することもできます。さらに、ランタイムに、ステージ固有の環境コンテキストを API 統合に渡すために、個々のメソッドのステージレベル設定を上書きし、ステージ変数を定義することができます。

ステージを使用すると、API の堅牢なバージョン管理が可能になります。たとえば、API を test ステージと、prod ステージにデプロイし、test ステージをテストビルドとして使用し、prod ステージを安定したビルドとして使用できます。更新がテストに合格したら、test ステージを prod ステージに昇格させることができます。昇格は、API を prod 本番稼働ステージに再デプロイするか、ステージ変数値をステージ名 test から prod に更新することによって行うことができます。

このセクションでは、API Gateway コンソールを使用するか、API Gateway REST API を呼び出して API をデプロイする方法について説明します。他のツールを使用するには、AWS CLI または AWS SDK のドキュメントを参照してください。