Elastic Load Balancingトラブルシューティング:HTTPエラーコード

2013.08.22

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
    原因:登録されているインスタンスから送信されたサーバーエラーレスポンス
    解決:インスタンスのアクセスログ、エラーログを確認して下さい。

参考情報