Elastic Load Balancingトラブルシューティング:HTTPエラーコード
ELBが報告するHTTPエラーコード
ELBでは様々なエラーコードが発生します。それらはCloudWatchで発生回数を確認することができるのですが、同じようなエラーコードがあり少し紛らわしです。
どのHTTPエラーコードをロードバランサーは返すのか?
ロードバランサーは400、405、408、502、503のエラーレスポンスと、登録されているインスタンスが返すあらゆるエラーレスポンスを返します。
CloudWatchで確認可能なHTTPエラーコード
ロードバランサーはクライアントに送信されるHTTPレスポンスコードをAmazon CloudWatchにメトリクスとして保存しています。これを用いると、エラーのソースがロードバランサーなのか、バックエンドのインスタンスなのかを確認することができます。CloudWathcの利用に関する情報と利用可能なメトリクスの定義に関しては、Monitor Your Load Balancer Using Amazon CloudWatchをご確認下さい。下記のメトリクスが利用できます:
- レスポンスコード:HTTPCode_ELB_4XX
原因:クライアントからの不正な形式、またはキャンセルされたリクエスト。
解決:HTTP 400: BAD_REQUEST
解決:HTTP 405: METHOD_NOT_ALLOWED
解決:HTTP 408: Request Timeout - レスポンスコード:HTTPCode_ELB_5XX
原因:ロードバランサーまたは登録されているインスタンスがエラーがエラーを発生させている、またはロードバランサーがレスポンスを解析できない。
解決:HTTP 502: Bad Gateway
解決:HTTP 503: Service Unavailable - レスポンスコード:HTTPCode_Backend_2XX
原因:登録されているインスタンスからの通常の成功レスポンス
解決:特にありません。 - レスポンスコード:HTTPCode_Backend_3XX
原因:登録されているインスタンスから送信されたリダイレクトレスポンス
解決:インスタンスのアクセスログ、エラーログを確認して下さい。 - レスポンスコード:HTTPCode_Backend_4XX
原因:登録されているインスタンスから送信されたクライアントエラーレスポンス
解決:インスタンスのアクセスログ、エラーログを確認して下さい。 - レスポンスコード:HTTPCode_Backend_5XX
原因:登録されているインスタンスから送信されたサーバーエラーレスポンス
解決:インスタンスのアクセスログ、エラーログを確認して下さい。