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

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

一般的なロード・バランサ・エラーには、シリーズ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バックエンド・サーバーのテスト