あるチームがAPI GatewayとLambdaで構成されたAPIで、一部のユーザーから「リクエストが成功するときと失敗するときがある」という報告を受けている。エラーはHTTP 429と502の2種類が混在している。この状況に対して取るべきトラブルシューティング手順として正しいものを2つ選択してください。
- A. HTTP 429はAPI GatewayまたはLambdaのスロットリングが原因なので、CloudWatchのThrottlesメトリクスとConcurrentExecutionsメトリクスを確認してスロットリングの発生源を特定する
- B. HTTP 502はAPI Gatewayのタイムアウト設定が原因なので、API Gatewayの統合タイムアウトを29秒(最大値)に延長する
- C. HTTP 502はLambdaが不正なレスポンス形式を返している可能性が高いので、CloudWatch LogsのLambda実行ログとX-Rayのトレースでレスポンスの内容を確認する
- D. HTTP 429とHTTP 502が混在する場合はネットワーク問題が原因なので、VPCフローログを確認する
- E. API GatewayのアクセスログをCloudWatch Logsに有効化して、各HTTPステータスコードのリクエストパターンと発生頻度を時系列で確認する
解答と解説を見る
正解: A, E
HTTP 429はスロットリング(TooManyRequests)であり、API GatewayレベルかLambdaの同時実行上限のどちらかが原因。CloudWatchのAPI GatewayメトリクスのCount/4XXErrorと、LambdaのThrottlesおよびConcurrentExecutionsを確認することで発生源を特定できる(選択肢A)。API Gatewayのアクセスログ有効化(選択肢E)は両方のエラーコードの発生パターン・頻度・対象エンドポイントを把握するのに必須の最初のステップ。選択肢BのAPI Gatewayタイムアウト延長は502の原因の1つだが、「まず延長する」のは原因未確定の状態での操作であり、トラブルシューティング手順としては不適切。選択肢CのLambdaログ確認は502の調査として正しい手順だが、選択肢AとEを合わせると3つになるため選択肢の中では2つの正解としてAとEが最も包括的。選択肢DのVPCフローログはネットワークレベルの問題調査であり、HTTP 429/502の混在はネットワーク問題の典型的症状ではない。
📚 関連サービスの解説: Amazon API Gateway ・ AWS Lambda