一般的なロード・バランサ・エラー

ロード・バランサに関連する一般的なロード・バランサ・エラーについて学習します。

一般的なロード・バランサ・エラーには、シリーズ500およびシリーズ400のエラー、ヘルス・チェック・エラー、クライアント・エラーおよびSSLエラーがあります。この項の後続のトピックでは、これらの一般的なエラーとそれぞれの詳細なトラブルシューティング手順について説明します(適用可能な場合)。

サーバー・エラー(500-599)

504

エラー・メッセージ:

  • lbStatusCode: "504"
  • backendStatusCode: ""

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ

症状:

クライアントが504エラーで失敗します。

考えられる原因:

ロード・バランサは、ヘルス・チェックでバックエンドが使用可能としてマークされている場合でも、バックエンドとの接続を確立できません。

考えられる解決策:

ヘルス・チェックを正しく構成します。

トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集

502, 502

エラー・メッセージ:
  • lbStatusCode: "502"
  • backendStatusCode: "502"

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログとエラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • バックエンドのヘルス・チェックが成功します。
  • バックエンドが502エラーを返します。
考えられる原因:
  • バックエンドのアプリケーションが502エラーを返しています。
  • バックエンドが正しく構成されていません。
  • バックエンドが別のリバース・プロキシまたはロード・バランサの可能性があります。

考えられる解決策:

バックエンド・アプリケーション・ログを調査して、502エラーが返される理由を特定します。

トラブルシューティング・ドキュメント: HTTP 502不正なゲートウェイ・エラーおよびTCPおよびHTTPバックエンド・サーバーのテスト

502

エラー・メッセージ:
  • lbStatusCode: "502"
  • backendStatusCode: ""
  • No healthy backends available in associated backend set

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログとエラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • バックエンドのヘルス・チェックが失敗します。
  • 特定のバックエンドまたはすべてのバックエンドに対して監視されたトラフィックはありません。
考えられる原因:
  • バックエンド・アプリケーションが、予期されたレスポンスでヘルス・チェックに応答していません。
  • バックエンドからエラーが発生しない場合、TCPヘルス・チェックが構成されています。
  • 単一のバックエンドまたはすべてのバックエンドがドレイン・モードで構成されています。
考えられる解決策:
  • TCPヘルス・チェックが失敗する理由を特定します。
  • HTTPヘルス・チェックに変換します。
  • 特定のバックエンドまたはすべてのバックエンドのドレイン・モードをfalse (非ドレイン)に変更します。

トラブルシューティング・ドキュメント: HTTP 502不正なゲートウェイ・エラーおよびTCPおよびHTTPバックエンド・サーバーのテスト

セッション永続性問題

エラー・メッセージ:
Persistence selected backend ip_address which failed and no_fallback is selected

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • セッション永続性が失敗します。
考えられる原因
  • バックエンド・セットがセッション永続性で構成されていますが、接続の失敗またはタイムアウトが発生したため、予期されたバックエンドを使用できません。
  • フォールバック・オプションが無効です。
考えられる解決策:
  • バックエンド・アプリケーションにアクセスできない理由を特定します。
  • 選択したサーバーが使用できない場合、フォールバック・オプションを有効にします。

トラブルシューティング・ドキュメント: フォールバック

他のすべての5nnエラーでは、最も可能性の高い原因はバックエンド・サーバーの問題です。

クライアント・エラー(400-499)

400

エラー・メッセージ:
  • lbStatusCode: "400"
  • backendStatusCode: ""
  • 400 bad request header or cookie too large

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ

症状:
  • ロード・バランサがステータス・コード400を返します。
  • バックエンド・サーバーはステータス・コードを返しません。

考えられる原因:

クライアントが、構成されたバッファ・サイズを超えるリクエストを送信しています。

考えられる解決策:

ロード・バランサのHTTPリクエスト・ヘッダー・サイズを増やします。デフォルトでは、サイズ制限は8KBですが、64KBに増やすと問題が解決されます。

トラブルシューティング・ドキュメント: HTTPヘッダー・ルール

404, 404

エラー・メッセージ:
  • lbStatusCode: "404"
  • backendStatusCode: "404"

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ

症状:
  • ロード・バランサが404ステータス・コードを返します。
  • バックエンド・サーバーが404ステータス・コードを返します。

考えられる原因:

予期されたページがバックエンドに存在しません。

考えられる解決策:
  • 欠落しているページを作成します。
  • 正しいページをコールするようにクライアントを構成します。

403, 403

エラー・メッセージ:
  • lbStatusCode: "403"
  • backendStatusCode: "403"

Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ

症状:
  • ロード・バランサが403ステータス・コードを返します。
  • バックエンド・サーバーが403ステータス・コードを返します。
考えられる原因:
  • 予期したページにバックエンドに対する十分な権限がありません。
  • 予期された認証トークンがないか、転送されていません。

考えられる解決策:

  • バックエンドで欠落している権限を作成します。
  • トークンが正しく送信されるようにクライアント構成を調整します。
  • 送信されたすべてのトークンがバックエンドに到着していることを確認します。
  • ヘッダーが欠落している場合:
    • ロード・バランサまたはクライアントのヘッダー・サイズを調整します。
    • 特殊文字を含むヘッダーを許可します。

トラブルシューティング・ドキュメント: HTTPヘッダー・ルール

ヘルス・チェック・エラー

正常なバックエンド・サーバーがない

エラー・メッセージ:
No healthy backends available in associated backendSet

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:

クライアントが502 Bad Gatewayエラーで失敗します。

考えられる原因:
  • バックエンド・セットにバックエンド・サーバーがありません。
  • バックエンド・サーバーがヘルス・チェックに応答していません。
考えられる解決策:
  • バックエンド・サーバーがヘルス・チェックに応答しない理由を特定します。
  • ステータス・コード、正規表現、間隔タイムアウト、ポート、プロトコルなどのヘルス・チェック設定を確認して調整します。

トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集

ステータス・コードの問題

バックエンド・ヘルス・ステータスの失敗の理由:ステータス・コードの不一致

Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス

エラー・メッセージ:
Status code mismatch

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • バックエンド・サーバーがヘルス・チェックに失敗します。
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • エラー・ログにinvalid statusCodeが表示されます。
考えられる原因:
  • バックエンド・サーバーが不正なレスポンス・コードで応答しています。
  • レスポンス・コードが不一致であるため、バックエンドのサーバーのヘルス・チェックが失敗します。
  • ヘルス・チェックの失敗の原因は、正規表現本文に予期しないステータス・コードがあるためです。
考えられる解決策:
  • バックエンド・サーバーが不正なレスポンス・コードを送信している理由を特定します。
  • バックエンド・サーバーと一致するようにヘルス・チェックのパスまたはステータス・コードを調整します。

トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集

応答照合に失敗

バックエンド・ヘルス・ステータスの失敗の理由: 正規表現の不一致

Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス

エラー・メッセージ:
"response match result: failed"

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • バックエンド・サーバーがヘルス・チェックに失敗します。
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • エラー・ログに"response match result: failed"が表示されます。

考えられる原因:

正規表現が不一致か、不正な値が返されたか、ヘルス・チェックに指定された値が正しくないため、バックエンドのサーバーのヘルス・チェックに失敗しました。

考えられる解決策:
  • バックエンド・サーバーが不正な本文を送信している理由を確認します。
  • バックエンド・サーバーと一致するようにヘルス・チェックのパスまたは正規表現パターンを調整します。

トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集

接続不可ホスト

バックエンド・ヘルス・ステータスの失敗の理由: 接続の失敗

Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス

エラー・メッセージ:
"errno":"EHOSTUNREACH","syscall":"connect"
"ECONNREFUSED","errno":"ECONNREFUSED"

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • バックエンド・サーバーがヘルス・チェックに失敗します。
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • エラー・ログに"EHOSTUNREACH"が表示されます。
考えられる原因:
  • ホストにアクセスできないため、バックエンド・サーバーのヘルス・チェックが失敗します。
  • 接続がリセットされたため、バックエンド・サーバーのヘルス・チェックが失敗します。
  • アプリケーションまたはファイアウォールが接続をアクティブに拒否しています。
考えられる解決策:
  • ローカル・インスタンス・ファイアウォールをチェックして、トラフィックが許可されていることを確認します。
  • ローカル・インスタンスをチェックして、アプリケーションが実行中であることを確認します。
  • ネットワーク・セキュリティ・グループおよびセキュリティ・リストをチェックして、トラフィックが許可されていることを確認します。

トラブルシューティング・ドキュメント: アクセスとセキュリティ

ヘルス・ステータスの問題

エラー・メッセージ:
"healthStatus":"Unhealthy to Healthy"
"healthStatus":"Healthy to Unhealthy"

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントは期待どおりに動作していますが、定期的に失敗します。
  • バックエンド・サーバーは、ヘルス・チェックの成功と失敗を繰り返します。
  • エラー・ログに"Unhealthy to Healthy"または"Healthy to Unhealthy"が表示されます。
考えられる原因:
  • 異常なバックエンド・サーバーが正常になります。
  • バックエンド・サーバーのヘルス・ステータスが頻繁に変更される場合は、慢性的な問題を示している可能性があります。
考えられる解決策:
  • インスタンスがヘルス・ステータスに異常に変更されていないことを確認します。
  • バックエンド・サーバーのアプリケーション・ログで、アプリケーション固有の問題がないかどうかを確認します。

接続の問題

バックエンド・ヘルス・ステータスの失敗の理由: タイムアウト

Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス

エラー・メッセージ:
"msg":"connect timed out","elapsed":3000}

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • バックエンド・サーバーがヘルス・チェックを定期的にまたは慢性的に失敗します。
  • エラー・ログに"connect timed out"が表示されます。
考えられる原因:
  • バックエンド・サーバーは予期した期間内にヘルス・チェックに応答しません。
  • データベース、アプリケーション・サービス、APIなどの低速なアップストリーム依存関係、またはOracle Cloud Infrastructure File Storageサービス、Elastic Block Store、オブジェクト・ストレージなどの低速なストレージ・サービス。
考えられる解決策:
  • 原因としてのロード・バランサを排除するためにバックエンド・サーバーに対してローカル・テストを実行します。
  • すべてのアップストリーム依存関係のパフォーマンスを確認します。
  • バックエンド・サーバーのアプリケーション・ログで、なんらかのタイムアウトをレポートする依存関係がないかどうかを確認します。

トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト

SSLエラー

SSL仮想リスナーの問題

エラー・メッセージ:
Not all SSL virtual listeners on port 443 have the same set of SSL protocols defined

症状:

既存のロード・バランサのバックエンド・サーバーを作成することも、同じロード・バランサ内に以前に作成されたバックエンド・サーバーに新規サーバーを追加することもできません。

考えられる原因:

Transport Layer Security (TLS)のバージョンが一致しません。

考えられる解決策:

リスナーのTLSバージョンを一致させます。

トラブルシューティング・ドキュメント: ロード・バランサ管理SSL証明書

SSLハンドシェイクの問題

エラー・メッセージ:
(SSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol) while SSL handshake error

Oracle Cloud Infrastructureログ・カテゴリ: クライアント・ログ

症状:

クライアントで、ロード・バランサ・メトリックのSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。

考えられる原因:

バックエンド・サーバーがSSLを受け入れるように構成されません。

考えられる解決策:
  • バックエンド・サーバー証明書が指定された認証局と一致することを確認します。
  • チェーン内のすべての証明書が、「証明書」フィールドに正しい順序で指定されていることを確認します。
  • 正しい証明書の深さが指定されていることを確認します。

トラブルシューティング・ドキュメント: ロード・バランサ管理SSL証明書

バックエンドSSLハンドシェイクの問題

エラー・メッセージ:
Peer backend_ip_address closed connection in SSL handshake

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • クライアントでは、Oracle Cloud InfrastructureメトリックでSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。
考えられる原因:
  • バックエンド・サーバーがSSLを受け入れるように構成されません。
  • バックエンド・サーバー証明書が無効です。
考えられる解決策:
  • バックエンド・サーバー証明書が指定された認証局と一致することを確認します。
  • チェーン内のすべての証明書が、「証明書」フィールドに正しい順序で指定されていることを確認します。
  • 正しい証明書の深さが指定されていることを確認します。

トラブルシューティング・ドキュメント: ロード・バランサ管理SSL証明書

SSL証明書の問題

エラー:

クライアントbackend_ip_addressにSSL証明書の検証エラーがあります。

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:

クライアントでは、Oracle Cloud InfrastructureメトリックでSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。

考えられる原因:
  • クライアント証明書が無効です。
  • クライアント証明書が信頼されていません。
  • ピア証明書の検証の深さが無効です。
考えられる解決策:
  • クライアント証明書が有効であることを確認します。
  • リスナーのピア証明書の検証機能を削除します。

トラブルシューティング・ドキュメント: キー・ペアの不一致および秘密キーの整合性

クライアントSSL証明書の問題

エラー・メッセージ:
Client backend_ip_address sent no required SSL certificate

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントで、400 Responseエラーが発生します。
  • エラー・ログにno required SSL certificateが表示されます。

考えられる原因:

クライアントがクライアント証明書を送信しません。

考えられる解決策:
  • 正しいクライアント証明書を送信するようにクライアントを更新します。
  • リスナーのピア証明書の検証機能を削除します。
  • 証明書の検証の深さを調整します。

トラブルシューティング・ドキュメント: ピア証明書の検証の構成

SSLエラーの原因とするバックエンドのサーバーのヘルス・チェックの失敗

エラー・メッセージ:
"code":"EPROTO","errno":"EPROTO"

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:

SSLエラーのため、バックエンド・サーバーのヘルス・チェックが失敗します。

考えられる原因:

バックエンド・サーバーはSSLを受け入れるように構成されていますが、選択したヘルス・チェック・プロトコルがバックエンド・サーバーのものと一致しません。

考えられる解決策:

TLSが有効になっているバックエンド・サーバーでTLS以外のヘルス・チェックを使用していることを確認します。

トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集

SSLホスト名検証に失敗しました

エラー・メッセージ:
SSL host name verification failed for host_name

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • エラー・メッセージにSSL host name verification failedが含まれます。

考えられる原因:

指定されたホスト名が予期したものと一致しません。

考えられる解決策:
  • 予期されたホスト名を使用するようにクライアントを構成します。
  • クライアントによって送信されたホスト名と一致するように証明書を構成します。

トラブルシューティング・ドキュメント: ロード・バランサ管理SSL証明書

クライアント側のエラー

クライアント・アクセス拒否

エラー:

HTTP ACLルールによってclient_ip_addressへのアクセスが拒否されました。

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • バックエンド・サーバーはヘルス・チェックに合格しません。
  • エラー・ログにforbidden by HTTP ACL ruleが表示されます。

考えられる原因:

アクセス制御ルール・セットが有効になっていますが、ソースIPアドレスがありません。

考えられる解決策:

各ルール・セットを確認してソースIPアドレスを含めるように適用します。

トラブルシューティング・ドキュメント: アクセス制御ルール

クライアント・タイムアウトの問題

エラー:

クライアントclient_nameがタイムアウトしました

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502 Bad Gatewayエラーで失敗します。
  • クライアントでは、Oracle Cloud InfrastructureメトリックでSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。

考えられる原因:

クライアントが、ロード・バランサに対して構成されたタイムアウトよりも早く接続を終了しました。

考えられる解決策:
  • 予期されたアプリケーション構成と一致するようにクライアント・タイムアウトを構成します。
  • 構成された時間内にバックエンド・サーバーが応答しなかった理由を特定します。

トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト

クライアント接続が突然クローズされました

エラー:

addressへの接続が次によって突然クローズされました

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:

クライアントが502不正なゲートウェイ・エラーで失敗します。

考えられる原因:

リスナーにはMaxリスナー接続ルールがあり、IPはルールで許可されているよりも多くの接続をリスナーにしようとしました。

考えられる解決方法

  • IPがリスナーに対して許可される接続数を増やします。
  • IPがリスナーに接続する数を減らします。

トラブルシューティング・ドキュメント: 最大リスナー接続ルール

バックエンド・サーバー・エラー

バックエンド・サーバー接続の問題

エラー:

バックエンド・サーバーip_addressが接続を突然クローズします。

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:
  • クライアントが502不正なゲートウェイ・エラーで失敗します。
  • クライアントがロード・バランサ・メトリックでIOエラーをレポートします。
  • バックエンド・サーバー・セットでHTTPSが使用されており、暗号スイートまたはTLSバージョンに互換性がありません。

考えられる原因:

  • バックエンド・サーバー接続タイムアウトが、ロード・バランサより小さいタイムアウト値で誤って構成されています。
  • バックエンド・サーバーまたはそのそれを含むバックエンド・セットにmaxConnectionsが設定されており、バックエンド・サーバーへの接続数が指定された制限に達しました。

考えられる解決策:

  • バックエンド・サーバー・アプリケーションがタイムアウトしている理由を特定します。
  • バックエンド・サーバーのタイムアウト値の調整が必要な場合は、ロード・バランサのタイムアウト値を超えるように調整します。
  • 負荷を処理するバックエンド・サーバーを追加します。
  • maxConnections設定を増やします。

正常なバックエンド・サーバーなし

エラー:

関連付けられたbackendSetで使用可能な正常なバックエンドがありません

Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ

症状:

クライアントが502不正なゲートウェイ・エラーで失敗します。

考えられる原因:

  • バックエンド・セットにはバックエンド・サーバーがありません。
  • ヘルス・チェックに応答するバックエンド・サーバーはありません。
  • バックエンド・セット内のすべてのヘルス・バックエンド・サーバーがmaxConnections制限に達しました。

考えられる解決策:

  • バックエンド・サーバーがヘルス・チェックに応答しない理由を特定します。
  • ステータス・コード、正規表現、間隔タイムアウト、ポート、プロトコルなどのヘルス・チェック設定を確認して調整します。
  • バックエンド・サーバーにmaxConnections制限が設定されているかどうかを確認します。その場合は、負荷を処理するバックエンド・サーバーを追加するか、maxConnections制限を増やします。

トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト