API Gateway で REST API コールのログを Amazon Data Firehose に記録する - Amazon API Gateway

API Gateway で REST API コールのログを Amazon Data Firehose に記録する

API へのクライアントのアクセスに関連する問題のデバッグに役立てるために、API コールのログを Amazon Data Firehose に記録できます。Firehose の詳細については、「Amazon Data Firehose とは」を参照してください。

アクセスログでは、CloudWatch または Firehose のいずれかのみを有効にできます。両方を有効にすることはできません。ただし、実行ログで CloudWatch を有効にし、アクセスログで Firehose を有効にすることはできます。

API Gateway の Firehose ログ形式

Firehose ログ記録では、CloudWatch ログ記録と同じ形式を使用します。

Firehose ログ記録のアクセス許可

ステージで Firehose アクセスログ記録を有効にすると、API Gateway はアカウントにサービスリンクロールを作成します (ロールがまだ存在しない場合)。このロールは AWSServiceRoleForAPIGateway という名前で、APIGatewayServiceRolePolicy マネージドポリシーがロールにアタッチされます。サービスにリンクされたロールの詳細については、「サービスにリンクされたロールの使用」を参照してください。

注記

Firehose ストリームの名前は amazon-apigateway-{your-stream-name} にする必要があります。

API Gateway コンソールを使用して Firehose アクセスログ記録を設定する

API ログ記録を設定するには、API をステージにデプロイしている必要があります。また、Firehose ストリームを作成している必要があります。

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

  2. 次のいずれかを行います。

    1. 既存の API を選択し、ステージを選択します。

    2. API を作成し、ステージにデプロイします。

  3. メインナビゲーションペインで、[ステージ] を選択します。

  4. [ログおよびトレース] セクションで [編集] を選択します。

  5. Firehose ストリームへのアクセスログ記録を有効にするには:

    1. [カスタムアクセスロギング] を有効にします。

    2. [アクセスログの送信先 ARN] に、Firehose ストリームの ARN を入力します。ARN 形式は arn:aws:firehose:{region}:{account-id}:deliverystream/amazon-apigateway-{your-stream-name} です。

      注記

      Firehose ストリームの名前は amazon-apigateway-{your-stream-name} にする必要があります。

    3. [ログの形式] にログの形式を入力します。[CLF][JSON][XML]、または [CSV] を選択できます。ログ形式の例について詳しくは、「API Gateway での CloudWatch によるログの形式」を参照してください。

  6. [Save changes] (変更の保存) をクリックします。

これで、API Gateway で API へのリクエストのログを Firehose に記録する準備が整いました。ステージ設定、ログ、またはステージ変数を更新するときに API を再デプロイする必要はありません。