メニュー
Amazon API Gateway
開発者ガイド

API ステージの管理

既存のデプロイを新しいステージに関連付ける

最初のデプロイ後に、さらにステージを追加して既存のデプロイに関連付けることができます。API Gateway コンソールを使用して新しいステージを作成して使用するか、API をデプロイするときに既存のステージを選択できます。通常は、API を再デプロイする前に、API デプロイに新しいステージを追加できます。これを API Gateway コンソールで行うには、次の手順に従います。

  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. [APIs] ナビゲーションペインで、API の下の [Stages] を選択します。

  3. [Stages] ナビゲーションペインから、[Create] を選択します。

  4. [Create Stage] で、[Stage name] にステージ名 (prod など) を入力します。

  5. オプションで、[Stage description] にステージの説明を入力します。

  6. [Deployment] ドロップダウンリストで、このステージに関連付ける既存の API デプロイの日付と時刻を選択します。

  7. [Create] を選択します。

ステージ設定の更新

API が正常にデプロイされると、ステージにデフォルト設定が入力されます。API キャッシュやログ記録などのステージ設定は、コンソールまたは API Gateway REST API を使用して変更できます。以下では、API Gateway コンソールの [Stage Editor] を使用してその方法を示します。

API Gateway コンソールによるステージ設定の更新

先に進む前に、API がデプロイ済みであること、さらにステージを少なくとも 1 回作成していることを確認してください。

  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. [APIs] ペインで、ステージ設定を更新する API を選択し、[Stages] を選択します。

  3. [Stages] ペインで、ステージの名前を選択します。

  4. [Stage Editor] ペインで、[Settings] タブを選択します。

  5. API キャッシュを有効にするには、[Cache Settings] セクションの [Enable API cache] オプションを選択します。次に、[Cache capacity]、[Encrypt cache data]、[Cache time-to-live (TTL)] の適切なオプションと関連値を選択し、キーごとのキャッシュの無効化の要件を選択します。ステージレベルのキャッシュ設定の詳細については、「API キャッシュを有効にする」を参照してください。

    重要

    このオプションを選択すると、お客様の AWS アカウントに対して API キャッシュの使用料金が発生することがあります。

    ヒント

    有効になっているステージレベルのキャッシュ設定は上書きできます。これを行うには、[Stages] セカンダリナビゲーションペインでステージを展開し、メソッドを選択します。次に、[Stage Editor] に戻り、[Settings] の [Override for this method] オプションを選択します。次の [Cache Settings] エリアで、[Enable Method Cache] をオフにするか、その他の必要なオプションをカスタマイズしてから、[Save Changes] を選択します。メソッドレベルのキャッシュ設定の詳細については、「API キャッシュを有効にする」を参照してください。

  6. この API Gateway API のこのステージに関連付けられたすべてのメソッドに対して Amazon CloudWatch Logs を有効にするには、以下の手順を実行します。

    1. [CloudWatch Settings] セクションで、[Enable CloudWatch Logs Logs] オプションを選択します。

      ヒント

      メソッドレベルの CloudWatch 設定を有効にするには、[Stages] セカンダリナビゲーションペインの下のステージを展開し、対象の各メソッドを選択します。次に、[Stage Editor] で、[Settings] の [Override for this method] を選択します。[CloudWatch Settings] エリアで、[Log to CloudWatch Logs] およびその他の必要なオプションを選択してから、[Save Changes] を選択します。

      重要

      アカウントではメソッドレベルの CloudWatch メトリクスに対して課金されますが、API またはステージレベルのメトリクスに対しては課金されません。

    2. [Log level] で、エラーレベルのエントリのみが CloudWatch Logs に書き込まれるようにするには [ERROR] を選択し、すべての [ERROR] イベントとその他の通知イベントを含めるには、[INFO] を選択します。

    3. API 呼び出しのリクエストとレスポンスのすべての情報を記録するには、[Log full requests/responses data] を選択し ます。[Log full requests/responses data] オプションが選択されていない限り、機密データは記録されません。

    4. API Gateway から CloudWatch に対して、API callsLatencyIntegration latency400 errors、および 500 errors の API メトリクスをレポートするには、[Enable Detailed CloudWatch Metrics] オプションを選択します。CloudWatch の詳細については、Amazon CloudWatch ユーザーガイド を参照してください。

    5. [Save Changes] を選択します。新しい設定は、新しいデプロイの後に有効になります。

      重要

      すべてのメソッドまたは一部のメソッドのみに対して CloudWatch Logs を有効にするには、IAM ユーザーに代わって CloudWatch Logs に情報を書き込むことを API Gateway に許可する IAM ロールの ARN も指定する必要があります。そのためには、[APIs] メインナビゲーションペインから [Settings] を選択します。次に、[CloudWatch log role ARN] テキストフィールドに IAM ロールの ARN を入力します。一般的なアプリケーションのシナリオでは、IAM は次のアクセスポリシーステートメントを含む AmazonAPIGatewayPushToCloudWatchLogs の管理ポリシーをアタッチできます。

      Copy
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }

      IAM ロールには、以下の信頼関係ステートメントも含まれている必要があります。

      Copy
      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

      CloudWatch の詳細については、Amazon CloudWatch ユーザーガイド を参照してください。

  7. この API に関連付けられたすべてのメソッドに対してステージレベルのスロットル制限を設定するには、[Default Method Throttling] セクションで次の操作を行います。

    1. [Rate] に、API Gateway が 429 Too Many Requests レスポンスを返さずに対応できるステージレベルの定常の最大リクエスト数/秒を入力します。このステージレベルのレート制限は、アカウントレベルのレート制限 (API の設定と実行に関する API Gateway の制約 で指定) を超えないものとします。

    2. [Burst] に、API Gateway が 429 Too Many Requests レスポンスを返さずに対応できるステージレベルの同時リクエストの最大数を入力します。このステージレベルのバーストは、アカウントレベルのバースト制限 (API の設定と実行に関する API Gateway の制約 で指定) を超えないものとします。

  8. メソッド別のステージレベルのスロットリングを上書きするには、[Stages] セカンダリナビゲーションペインでステージを展開し、必要なメソッドを選択した上で、ステージエディタに戻り、[Settings] の [Override for this method] を選択します。[Default Method Throttling] 領域で、適切なオプションを選択します。

API のステージの削除

ステージが不要になったら、それを削除して未使用のリソースに対する請求を避けることができます。API Gateway コンソールを使用してステージを削除する方法について以下に説明します。 。

警告

ステージを削除すると、対応する API の一部または全部を API 発信者が使用できなくなる場合があります。ステージの削除は元に戻すことができません。ただし、ステージを再作成して同じデプロイに関連付けることができます。

API Gateway コンソールを使用してステージを削除する

  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. ステージの API 名を含むボックスで、[Stages] を選択します。

  3. [Stages] ペインで、削除するステージを選択してから [Delete Stage] を選択します。

  4. プロンプトが表示されたら、[Delete] を選択します。