Amazon API Gateway エンドポイントを AWS Lambda と統合したいのですが、問題が発生しています。
次の要因で、Lambda と統合される API Gateway エンドポイントで問題が発生する場合があります。
注: 次の解決策では、REST API ゲートウェイを使用してトラブルシューティングを行います。
始める前に、Amazon CloudWatch Logs を有効にしてから API ゲートウェイエラーのトラブルシューティングを行います。[ログレベル] で [INFO] を選択すると、すべてのリクエストの実行ログが生成されます。
Lambda 関数のアクセス許可が無効というエラーは、API ゲートウェイに Lambda 関数を呼び出すアクセス許可がない場合に発生します。この問題を解決するには、「API Gateway REST API で発生する、Lambda 関数のアクセス許可が無効というエラーを解決する方法を教えてください」をご覧ください。
注: AWS CloudFormation などの別のサービスを使用して API ゲートウェイリソースをデプロイする場合は、AWS::Lambda::Permission リソースにアクセス許可を付与してください。
多数のリクエストによりバックエンドサービスでスロットリングが発生した場合、API Gateway API は内部サーバーエラーを返す可能性があります。指数関数的バックオフと再試行メカニズムを有効にしてから、リクエストを再試行します。問題が解決しない場合は、API Gateway のクォータ制限を確認してください。サービスクォータを超えた場合は、クォータの引き上げをリクエストしてください。
また、Lambda 関数のスロットリングの問題が原因で、「**レート超過」**エラーや「429 TooManyRequestsException」エラーが発生する場合もあります。詳しくは、「"レートを超過しました" や "429 TooManyRequestsException" エラーが発生する Lambda 関数のスロットリングをトラブルシューティングする方法を教えてください」も参照してください。
関数でのスロットリング発生を防ぐために、Lambda 関数の同時実行クォータの引き上げをリクエストしてください。
HTTP ステータスコードのマッピングが正しくないか見つからない場合、次のような 500 エラーメッセージが表示されることがあります。
「設定エラーにより実行に失敗しました。 出力マッピングは無効なメソッド応答を参照しています: 2xx/4xx/5xx」
このエラーを解決するには、正しいステータスコードを返すように API 操作の統合リクエストとレスポンスを設定します。
Lambda 関数のタイムアウトなどの Lambda サービスの例外を管理していない場合、Lambda.Unknown エラーが発生します。Lambda 関数のタイムアウトを防ぐには、Lambda 関数コードをべき等にします。
詳細とトラブルシューティングについては、「Amazon API Gateway と AWS Lambda のエラー処理パターン」を参照してください。
API Gateway REST API の 5xx エラーをトラブルシューティングする方法を教えてください