Classic Load Balancer の使用中に返される 503 エラーをトラブルシューティングするにはどうすればよいですか?

最終更新日: 2018 年 2 月 27 日

Classic Load Balancer のアクセスログ、CloudWatch メトリクス、またはブラウザもしくはクライアントからロードバランサーの DNS 名をヒットしたときに HTTP 503 エラーが表示されます。これを修正するにはどうすればよいですか?

簡単な説明

Classic Load Balancer が応答するように設定されているすべてのアベイラビリティーゾーンにバックエンドインスタンスを登録し、登録されたバックエンドインスタンスがヘルスチェックに失敗していないこと、およびアプリケーションが必要とする負荷を処理するために適切なサイズになっていることを確認します。

解決方法

ロードバランサーの背後にある正常なバックエンドインスタンスの数を確認するには、CloudWatch の HealthyHostCount および UnHealthyHostCount メトリクスを確認します。CloudWatch メトリクスで、正常なホストがない、または異常なホストが 1 つ以上存在することが示された場合は、以下を確認して問題のトラブルシューティングを行うことができます。

バックエンドインスタンスに応答できていることをヘルスチェック

バックエンドインスタンスの場合、正常で実行されているように見えますが、UnhealthyHostCount メトリックスを 1 つまたは複数の異常なインスタンスがあることを示しています。ロードバランサーがあることを確認してヘルスチェックリクエストに応答できます。HTTP/HTTPS ヘルスチェックは、ロードバランサーがであることを確認し、バックエンドからの 200 応答コードを受け取ることができます。レイヤー 4 ヘルスチェックでは、インスタンスが TCP ハンドシェイクを正常に完了すると、ロードバランサーはインスタンスを正常とマークします。手順については、「Troubleshoot a Classic Load Balancer: Health checks」(Classic Load Balancer のトラブルシューティング: ヘルスチェック) を参照してください。

ロードバランサーとバックエンドインスタンスが負荷を処理できることを確認する

ロードバランサーとバックエンドインスタンスをチェックして、CPU の使用状況、メモリ、ディスクの使用状況、およびアプリケーションに必要な接続数を処理できることを確認します。

例えば、SpilloverCount および SurgeQueueLength CloudWatch メトリクスを確認します。SurgeQueueLength がキューに入れられたリクエストの最大数である 1,024 もしくはそれに近い場合、または SpilloverCount が 0 以外の数値の場合、バックエンドの処理速度がリクエストに追いつかないか、リクエストをまったく処理できないことを示します。

また、バックエンドインスタンスの CPUUtilization CloudWatch メトリクスも確認します。CPU 使用率が 100% に急上昇している、または長期間にわたって一貫して高くなっている場合は、バックエンドインスタンスを追加するか、現在のインスタンスのサイズをより大きいサイズに変更することを検討してください。メモリやディスク使用量など、その他の値を確認する手順については、インスタンスベンダーのドキュメントを参照してください。


Monitor your Classic Load Balancer (Classic Load Balancer のモニタリング)

Troubleshoot a Classic Load Balancer: HTTP errors (Classic Load Balancer のトラブルシューティング: HTTP エラー)

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?