Classic Load Balancing を使用するように設定された EC2 インスタンスで実行されるウェブサーバーへの接続時に HTTP 5xx エラーが表示されるのはなぜですか?

所要時間1分
0

Web サーバーに接続しようとしたときに HTTP 502、503、504 エラーが表示されました。ウェブサーバーは、Classic Load Balancing を使用するように設定された EC2 インスタンスで実行されます。

解決策

HTTP 502 (Bad Gateway)

Classic Load Balancer がメッセージを解析できない場合、HTTP 502 エラーが表示されます。EC2 インスタンスで実行されているウェブサーバーまたは関連するバックエンドアプリケーションサーバーから、Classic Load Balancer で解析できないメッセージが返されています。詳細については、「Classic Load Balancer を介してリクエストを行う場合の HTTP 502 エラーのトラブルシューティング方法を教えてください。」を参照してください。

HTTP 503 (Service Unavailable)

HTTP 503 エラーが発生する原因は次のとおりです。

  • サージキューがいっぱいになっている。SpilloverCount メトリクスを確認して、インスタンスにリクエストレートを処理する容量があることを確認します。
  • 正常なインスタンスがない。ロードバランサーが応答するすべてのアベイラビリティーゾーンに、正常なインスタンスがあることを確認します。これを行うには、HealthyHostCount メトリクスを確認します。詳細については、「Troubleshoot a Classic Load Balancer: Health checks」を参照してください。
  • ロードバランサーが応答するすべてのアベイラビリティーゾーンに、1 つ以上のインスタンスが登録されていない。インスタンスが各アベイラビリティーゾーンに登録されていることを確認できない場合は、クロスゾーン負荷分散を有効にします。
  • ウェブサーバーインスタンスが登録されている Classic Load Balancer の Connection Draining がオンになっていない。

詳細については、「Classic Load Balancer の使用中に返される 503 エラーをトラブルシューティングするにはどうすればよいですか?」を参照してください。

HTTP 504 (Gateway Timeout)

HTTP 504 エラーが発生する原因は次のとおりです。

  • ウェブサーバーインスタンスまたはバックエンドアプリケーションサーバーインスタンスがビジー状態で、設定された Elastic Load Balancing (ELB) のアイドルタイムアウト制限内ではリクエストに応答できない。詳細については、「ELB Classic Load Balancer での長いレイテンシーのトラブルシューティングを行う方法を教えてください。」を参照してください。
  • ウェブサーバーインスタンスまたはバックエンドアプリケーションサーバーインスタンスが、ロードバランサーが接続を終了する前に、接続を終了する。この結果、接続が早期終了となります。
  • リクエストが処理中のときに、ウェブサーバーインスタンスまたはバックエンドアプリケーションサーバーインスタンスがクラッシュしたか、サーバープロセスを再起動した。この結果、サーバーはすべての接続を切断します。
  • Apache ウェブサーバーインスタンスで、AcceptFilter http/https オプションがオンになっている。これは、接続で TCP_DEFER_ACCEPT を実装するよう Apache に指示します。
  • Apache ウェブサーバーインスタンスで (Apache Web サイトからの) event MPM がオンになっているが、preforkworker MPM が最適に設定されていない。デフォルトの ELB アイドルタイムアウト制限は 60 秒です。詳細については、「ELB のバックエンドサーバーとして Apache または NGINX を使用するための最適な設定を教えてください。」を参照してください。

詳細については、「Classic Load Balancer の使用中に返された 504 エラーをトラブルシューティングするにはどうすればよいですか?」を参照してください。

関連情報

Elastic Load Balancing とは?

Tutorial: Create a Classic Load Balancer

Configure health checks for your Classic Load Balancer

Monitor your Classic Load Balancer

AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません