この記事では、AWS を使っているときに表示される 504 というエラーの意味と、その直し方を順を追って説明します。
AWS の 504 とは何か?(公式の定義)
504 は、HTTP標準仕様(RFC 9110)で定められているステータスコードの一つです。
AWS の文脈では、このコードは次のことを意味します。
このエラーが出たときは、慌てずに次の「原因」の節を確認してください。 多くの場合、設定の見直しや手順の確認だけで解決できます。
このエラーが発生する主な原因(起きる理由の整理)
AWS で 504 が出るときに、最もよく見られる原因を挙げます。 自分の状況に当てはまるものを探してみてください。
- Lambda関数の処理時間がAPI Gatewayの統合タイムアウト(最大29秒)を超えた
- EC2またはECSのアプリケーションが重い処理で応答に時間がかかっている
- ALBとバックエンド間のネットワーク遅延が大きい
具体的な解決手順とチェックリスト(順番どおりに試す)
上の原因ごとの対処法を、実行できる手順の形でまとめました。 上から順番に試すことで、多くの場合は解決に近づけます。
- Lambdaの処理時間を短縮するか非同期処理(SQS経由)に設計を変更する
- API Gatewayの統合タイムアウト設定を確認する(最大29秒が上限)
- ALBのアクセスログで応答時間が長いリクエストを特定する
まとめ
AWS の 504 エラーは、上記のいずれかの原因によって発生するケースがほとんどです。 チェックリストを一つずつ確認することで、大半の問題は自力で解決できます。
それでも解決しない場合は、次の方法を試してください。
- AWS の公式ドキュメントで最新の情報を確認する
- エラーメッセージの全文をコピーして検索エンジンで調べる
- 公式のコミュニティフォーラムやサポートに問い合わせる
免責事項:本記事の内容は、執筆時点の公開情報をもとに作成したものです。ソフトウェアの仕様は予告なく変更されることがあります。最新の情報は各ツールの公式サポートページをご確認ください。本記事の情報を利用した結果生じたいかなる損害についても、著者および運営者は責任を負いかねます。