API Gateway の CloudWatch ログ収集設定の確認

ロググループと API ステージを併せて構成し、実際のログ収集を確認してください。

説明

API Gateway の要求やエラーのログが収集されないと、異常な呼び出しの検知や事故調査が難しくなる可能性があります。CloudWatch ロググループを作るだけでは API Gateway のログは有効にならず、ステージ設定とログの書き込み権限も必要です。

アクセスログと実行ログは別の設定です。必要な要求識別子とエラー情報を収集しつつ、トークン、パスワード、機密性の高い要求本文を不要に記録しないよう管理してください。

想定される影響

  • 認証失敗や異常な要求の発見が遅れる可能性があります。
  • 要求の流れを再構成しにくくなり、事故対応に時間がかかるおそれがあります。

対処方法

ロググループの log_group_name、保持期間、アクセス権限を構成してください。API ステージで必要なアクセスログ・実行ログを有効にし、アクセスログの宛先 ARN と形式、必要なサービスの書き込み権限を設定してください。試験要求が実際に記録されることを確認し、機密情報の過剰な記録を避けてください。

例

ロググループ設定のみを示す抜粋です。kms_key_id を使用する実際のキー ARN に置き換え、CloudWatch Logs に必要なキー権限を用意してください。API ステージ設定は別途必要です。

変更前

yaml
- name: Setup CloudWatch log group
  community.aws.cloudwatchlogs_log_group:
    state: present
    kms_key_id: arn:aws:kms:region:account-id:key/key-id

ロググループの作成に必要な名前がありません。このタスクで有効なロググループが作成されるとはいえません。

変更後

yaml
- name: Setup CloudWatch log group
  community.aws.cloudwatchlogs_log_group:
    state: present
    log_group_name: test-log-group
    kms_key_id: arn:aws:kms:region:account-id:key/key-id

ロググループ名を指定しています。作成するだけで API Gateway がここへログを送るわけではありません。

参考資料