0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】Lambda統合したAPI Gatewayの実行時に発生しうるエラーコード備忘

0
Posted at

はじめに

Lambda統合したAPI Gatewayの実行時に発生しうるエラーコードについて、実際に確認したものを備忘として記載します

エラーコード別の切り分け概要

ステータスコード 分類 主な原因
401 / 403 認証・認可エラー トークン不備、IAM設定不備
400 / 404 リクエストエラー クライアント仕様不備
500 内部エラー Lambda設定・実装不備
502 接続エラー バックエンド接続不可
503 サービスエラー 高負荷・AWS障害
504 タイムアウト Lambda実行時間超過

401 / 403 認証・認可エラー

判断基準

  • API Gateway もしくは Lambda 実行時に拒否される
  • Lambda のログが出力されない、または即時終了する

想定される原因

  • 認証トークンの有効期限切れ
  • IAM アクセスキー/シークレットキーの設定不備
  • IAM ポリシーの権限不足
  • API Gateway のリソースポリシーによる明示的拒否

確認ポイント

  • API Gateway の Access Log / Execution Log
  • Lambda の CloudWatch Logs
  • IAM ロールおよびポリシー設定
  • Secret Manager / 環境変数の値

アラート内容例と対応

例1:認証情報不備(401)

ログ:Session expired or invalid
対応

  • 認証情報が無効、または期限切れ
  • Lambda 環境変数および Secret Manager の値を確認

例2:認証トークン不備(403)

ログ:The security token included in the request is invalid
対応

  • トークン値が不正
  • Lambda 環境変数と Secret Manager の設定値を確認

例3:IAM ロール権限不足(403)

ログ:An error occurred (AccessDeniedException) when calling the XXXXX operation
対応

  • Lambda に付与されている IAM ロールの権限が不足しているため必要なアクションがポリシーに含まれているか確認

例4:リソースポリシーによる拒否(403)

ログ:An explicit deny in a resource-based policy
対応

  • API Gateway のリソースポリシーで IP 制限されているため 設定されている IP と実際のアクセス元 IP を確認

400 / 404 リクエストエラー

判断基準

  • 認証は通過しているが、API が処理されない
  • Lambda は実行されない、または即終了

想定される原因

  • クライアント側のリクエスト仕様不備
  • パラメータ不足・形式誤り
  • 存在しないリソースへのアクセス

対応

  • フロントエンド/クライアント側の呼び出し仕様を確認
  • API 定義との不一致を確認

500 内部エラー

判断基準

  • Lambda が実行されている
  • CloudWatch Logs に例外が出力される

想定される原因

  • Lambda 内の実装不備
  • 環境変数や Secret Manager の参照ミス

アラート例

パラメータ不正(500)

ログ:Invalid length for parameter XXXXX, value: 0, valid min length: 1
対応

  • Lambda 内で空文字が代入されているため環境変数・Secret Manager の値を確認

リソース未検出(500)

ログ:Secrets Manager can't find the specified secret
対応

  • Secret Manager 名が誤っているためLambda 環境変数の値を確認

502 / 503 / 504 サーバー・タイムアウト系エラー

502 Bad Gateway

  • バックエンド(Lambda / HTTP 接続先)に接続できない
  • ネットワーク設定やエンドポイントを確認

503 Service Unavailable

  • 一時的な高負荷
  • API Gateway 側の障害やスロットリングの可能性

504 Gateway Timeout

  • Lambda 実行時間超過
  • 外部 API 呼び出しの遅延

障害対応フロー

  1. エラーステータスコードを確認
  2. API Gateway の Access Log / Execution Log を確認
  3. Lambda の CloudWatch Logs を確認
  4. IAM / リソースポリシー / 環境変数を確認
  5. 必要に応じてエラー発生元へ連絡
  6. 原因不明の場合は AWS サポートへ問い合わせ

併せて記憶しておきたいこと

4xx error、5xx errorをcloud watchアラートで検出したい場合は以下を利用します
名前空間:AWS/ApiGateway
メトリクス名:4XXError/5XXError

また、Lambdaと統合している場合、APIアクセスログだけでなくLambdaのログにもエラーの詳細が出力されていることも考えられるためそちらも併せて確認します

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?