Upgrade to Pro — share decks privately, control downloads, hide ads and more …

API Gateway×Lambdaの落とし穴にハマった話

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for s0on0o s0on0o
February 20, 2026
6

API Gateway×Lambdaの落とし穴にハマった話

Avatar for s0on0o

s0on0o

February 20, 2026

Transcript

  1. 実際に起きたこと API Gateway × Lambda構成 • API Gatewayを非プロキシ統合 → Lambdaプロキシ統合に変更

    • 非プロキシ統合 • タイムアウトエラー時(Lambdaタイムアウト時)に ステータスコード: 408が返ってくる • Lambdaプロキシ統合 • タイムアウトエラー時(Lambdaタイムアウト時)に ステータスコード: 502が返ってくる • フロントのエラーダイアログが変わってしまった • バックエンドの都合でフロントの仕様変更はしたくない ステータスコード:408 非プロキシ統合 ステータスコード:502 Lambda プロキシ統合 タイムアウト タイムアウト
  2. 原因:API Gateway × Lambda のタイムアウト挙動 502エラー タイムアウト • API Gateway×Lambdaでは、どちらが先にタイムアウトするかで

    挙動が変わる • API Gatewayが先にタイムアウト • API Gateway自身がエラーを返す • ゲートウェイのレスポンスが効く(デフォルト504) • Lambdaが先にタイムアウト • Lambdaがプロキシ統合のレスポンス形式ではなく、 エラー内容のみを返す • API Gatewayがうまく扱えず 502を返す 今回起きた原因: • API Gatewayはデフォルトのタイムアウト:29秒 • 動作確認時にはLambdaのタイムアウトを30s→1sに変えて実施 504エラー タイムアウト
  3. まとめ API Gatewayのプロキシ統合では • API Gateway × Lambda では、同じタイムアウトでも、どちらが先かで挙動が変わる •

    ゲートウェイレスポンスで制御できるのは「API Gateway起因のエラー」だけ • LambdaのタイムアウトがAPI Gateway(29秒)より短いと意図しない 502 エラーになる • 動作確認時にLambdaのタイムアウトを短くするのは要注意 • タイムアウトの動作確認では、コード側でスリープを入れるなどして再現するのが安全