ロード・バランサ・ヘルスの問題のトラブルシューティング
ロード・バランサに関連するヘルス問題について学習します。
バックエンド・サーバーのヘルス・チェック
502不正なゲートウェイ・エラーを受信した場合、次のいずれかの原因が考えられます:
-
バックエンド・サーバーがバックエンド・セットに割り当てられていません。
-
バックエンド・サーバーがヘルス・チェックに応答していません。
このエラーが表示された場合は、バックエンド・サーバーがヘルス・チェックに応答しない理由を特定します。ステータス・コード、正規表現、間隔タイムアウト、ポート、プロトコルなどのヘルス・チェック設定を確認して調整します。
詳細は、ロード・バランサのヘルス・チェック・ポリシーを参照してください。
ヘルス・ステータス
次のいずれかのロード・バランサ動作は、ヘルス・ステータスの問題を示しています:
-
クライアントは期待どおりに動作していますが、定期的に失敗します。
-
バックエンド・サーバーは、ヘルス・チェックの成功と失敗を繰り返します。
-
エラー・ログに
Unhealthy to Healthy
またはHealthy to Unhealthy
というエントリが表示されます。
ヘルス・ステータスの問題の考えられる原因は次のとおりです:
-
異常なバックエンド・サーバーが正常になります。
-
バックエンド・サーバーのヘルス・ステータスが頻繁に変更される場合は、慢性的な問題を示しています。
考えられる解決策には次が含まれます:
-
インスタンスがヘルス・ステータスを異常に変更していないことを確認します。
-
バックエンド・サーバーのアプリケーション・ログで、アプリケーション固有の問題がないかどうかを確認します。
詳細は、一般的なLoad Balancerエラーを参照してください。
アクセスできないホストのヘルス・チェック
次のいずれかのロード・バランサ動作は、アクセスできないホストのヘルス・チェックを示しています:
-
バックエンド・サーバーがヘルス・チェックに失敗します。
-
クライアントが502不正なゲートウェイ・エラーで失敗します。
-
エラー・ログに
EHOSTUNREACH
というエントリが表示されます。
アクセスできないホストのヘルス・チェックの考えられる原因は次のとおりです:
-
ホストにアクセスできないため、バックエンド・サーバーのヘルス・チェックが失敗します。
-
接続がリセットされたため、バックエンド・サーバーのヘルス・チェックが失敗します。
-
アプリケーションまたはファイアウォールが接続をアクティブに拒否しています。
考えられる解決策には次が含まれます:
-
ローカル・インスタンス・ファイアウォールをチェックして、トラフィックが許可されていることを確認します。
-
ローカル・インスタンスをチェックして、アプリケーションが実行中であることを確認します。
-
ネットワーク・セキュリティ・グループおよびセキュリティ・リストをチェックして、トラフィックが許可されていることを確認します。
詳細は、アクセスとセキュリティを参照してください。
ヘルス・チェック接続
次のいずれかのロード・バランサ動作は、ヘルス接続の問題を示しています:
-
クライアントが502不正なゲートウェイ・エラーで失敗します。
-
バックエンド・サーバーがヘルス・チェックを定期的にまたは慢性的に失敗します。
- エラー・ログに
connect timed out
というエントリが表示されます。
ヘルス接続の問題の考えられる原因は次のとおりです:
-
バックエンド・サーバーが予期された期間内にヘルス・チェックに応答していません。
-
データベース、アプリケーション・サービス、APIなどの低速なアップストリーム依存関係、またはOracle Cloud Infrastructure File Storageサービス、Elastic Block Store、オブジェクト・ストレージなどの低速なストレージ・サービス。
考えられる解決策には次が含まれます:
-
原因としてのロード・バランサを排除するためにバックエンド・サーバーに対してローカル・テストを実行します。
-
すべてのアップストリーム依存関係のパフォーマンスを確認します。
-
バックエンド・サーバーのアプリケーション・ログで、なんらかのタイムアウトをレポートする依存関係がないかどうかを確認します。
詳細は、TCPおよびHTTPバックエンド・サーバーのテストを参照してください。