0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:「504 Gateway Time-out」エラーの一般的な原因と対策を体系的にまとめてみた

Last updated at Posted at 2025-02-27

はじめに

Web サイトやアプリケーションを運用していると、エラーに遭遇することは避けられません。

その中でも「504 Gateway Time-out」というエラーは、サーバーの応答遅延が原因で発生することが多く、特にリバースプロキシやロードバランサーを利用している環境では頻発することがあります。

本記事では、このエラーの原因と対処法について詳しく解説します。

記事を書こうと思ったきっかけ

受講しているハッカソンの活動中に、他の受講生が 504 Gateway Time-out エラーに直面していました。

原因の特定や解決に苦労している様子を見て、一緒に調査を進める中で多くの知見を得ることができました。

同じ問題に悩む方の助けになればと思い、この記事を書くことにしました。

504 Gateway Time-out エラーの原因と対処法

Web サイトやアプリケーションを運用していると、「504 Gateway Time-out」というエラーに遭遇することがあります。

このエラーは、ゲートウェイ(リバースプロキシやロードバランサー)が、バックエンドサーバーからの応答を受け取れず、一定時間が経過したために発生します。

本記事では、504 Gateway Time-out エラーの主な原因と具体的な対策について解説します。

1. サーバーの処理遅延

原因

  • サーバーの負荷が高すぎる
  • 実行時間の長いスクリプトやクエリがある

対策

  • サーバーのリソース使用状況を確認(tophtop コマンドを使用)
  • 負荷が高い場合はリソースを増強(CPU/RAM のスケールアップ)
  • 実行時間の長いスクリプトやクエリを最適化

2. サーバー設定(NGINX/Apache)の問題

原因

  • タイムアウト時間の設定が短すぎる

対策

  • 設定ファイルでタイムアウト時間を延長し、サーバーを再起動

NGINX の場合 (/etc/nginx/nginx.conf)

http {
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
    send_timeout 600;
}

Apache の場合 (/etc/httpd/conf/httpd.conf または /etc/apache2/apache2.conf)

Timeout 600

3. バックエンド(アプリケーション)の問題

原因

  • アプリケーションの処理が遅い

対策

  • アプリケーションのログを確認(/var/log/app.log など)
  • 遅い処理の最適化(キャッシュの活用、並列処理の導入)
  • データベースクエリのチューニング

4. データベースの応答遅延

原因

  • クエリの実行時間が長い

対策

  • EXPLAIN を使ってクエリを分析し、適切なインデックスを追加
  • クエリキャッシュを利用
  • 非同期処理やバッチ処理を検討

5. クラウド環境での問題

原因

  • AWS, GCP などのロードバランサーのタイムアウト設定が短い

対策

  • AWS ALB の Idle Timeout を延長(デフォルト60秒 → 300秒など)
  • AWS Lambda を利用する場合、タイムアウト設定を適切に調整

6. ネットワーク接続の問題

原因

  • ネットワーク遅延や接続障害

対策

  • pingtraceroute を使ってネットワークの遅延をチェック
  • Firewall の設定を確認
  • サーバー間通信の経路を見直し

まとめ

「504 Gateway Time-out」エラーは、サーバーの負荷、設定ミス、アプリケーションの処理速度、データベースの遅延、クラウド環境の設定、ネットワークの問題など、さまざまな要因で発生します。

まずは サーバーの負荷を確認し、設定の見直しや処理の最適化を進める ことが重要です。

特に NGINX/Apache のタイムアウト設定やデータベースのチューニング など、適切な対策を施すことで、このエラーを回避できます。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?