NSX Advanced Load Balancer は、メンテナンスのためにバックエンド サーバをアクティブに無効にできます。サーバからの健全性チェック応答の情報を使用して、サーバがメンテナンス モードであるかどうかを検出するように構成できます。
管理者およびアプリケーション開発者は、サーバからの健全性チェック応答の情報を使用して、サーバがメンテナンス モードであるかどうかを検出できます。この情報は、HTTP コード 503 などの特定の応答コードや、「サーバがメンテナンス中です」などの特定の応答メッセージ文字列の場合があります。
このようなイベントは、ソフトウェアの問題が原因でサーバ プロセスが停止している場合とは動作が異なります。サーバがメンテナンス中の場合は、サーバに新しい接続を送信せず、既存の接続をドレインする必要があります。
メンテナンス モードの検出
一部のタイプの健全性モニターは、健全性チェックに対するサーバの応答に含まれる特定の応答コードまたは応答データに基づいて、サーバがメンテナンス モードに切り替わったタイミングを検出するように構成できます。このモニターは、サーバが含まれるプールに関連付けられている必要があります。
- 応答コード
-
特定の HTTP 応答コード (101-599) をフィルタリングするように、HTTP および HTTPS 健全性モニターを構成できます。HTTP または HTTPS モニターに基づく健全性チェックに対するサーバの応答でコードが検出された場合、NSX Advanced Load Balancer はサーバの状態を「メンテナンスのために停止」に変更します。
- 応答データ
-
特定のデータ(応答文字列)をフィルタリングするように、TCP、UDP、HTTP、および HTTPS 健全性モニターを構成できます。HTTP または HTTPS モニターに基づく健全性チェックに対するサーバの応答で文字列が検出された場合、NSX Advanced Load Balancer はサーバの状態を「メンテナンスのために停止」に変更します。応答データは、応答データの最初の 2,000 バイト以内にする必要があります。
HTTP または HTTPS 健全性モニターは、最大 4 つのメンテナンス応答コードをフィルタリングできます。
HTTP および HTTPS 健全性モニターには、メンテナンス モードを検出するための次のフィルタの組み合わせを含めることができます。
応答文字列
複数の応答コード
メンテナンス応答文字列
最大 4 つのメンテナンス応答コード
TCP および UDP 健全性モニターには、次のいずれかまたは両方に基づいてメンテナンス モードのフィルタを含めることができます。
応答文字列
メンテナンス応答文字列
メンテナンス モードの表示
サーバがメンテナンス モードに切り替わったこと NSX Advanced Load Balancer が検出すると、サーバの健全性状態が「メンテナンスのために停止」に変更されます。
サーバがメンテナンスのために DOWN
とマークされると、サーバへの既存の接続は変更されず、自動的に終了できます。NSX Advanced Load Balancer はサーバに健全性チェックを送信し続けます。サーバはメンテナンス文字列またはコードによる応答を停止することで、メンテナンス モードが終了したことを NSX Advanced Load Balancer に伝え、サーバの健全性状態は UP
に変更されます。
同様に、サーバのメンテナンス モードへの移行とメンテナンス モードからの復帰は、イベント ログに示されます。
サーバ メンテナンス モードを検出するための健全性モニターの構成
サーバのメンテナンス モードを検出するように Web インターフェイスを構成するには、次の手順を実行します。
健全性モニターの構成ポップアップに移動します。
の順に移動します。
健全性モニターの名前の横にある [編集] アイコンをクリックします。
[作成] ボタンをクリックして、新しい健全性モニターを作成します。
名前を指定し、レイヤー 4 の場合は TCP または UDP、レイヤー 7 の場合は HTTP または HTTPS などのモニター タイプを選択します。
[サーバ メンテナンス モード] セクションで、サーバがメンテナンス モードであることを示すインジケータとして使用する応答コードまたはデータを指定します。
[保存] をクリックします。
メンテナンス モード検出を使用した HTTPS 健全性モニターの例:
メンテナンス モード検出を使用した TCP 健全性モニターの例:
健全性モニターのプールへの接続
健全性モニターは、モニターが接続されているプールにのみ使用されます。
健全性モニターをプールに接続するには、次の手順を実行します。
の順に移動します。
[作成] ボタンをクリックします。
[アクティブ モニターの追加] ボタンをクリックして、モニターを選択します。ドロップダウン メニューに健全性モニターのリストが表示されます。
必要な健全性モニター オプションを選択します。
CLI
次のコマンドは、サーバからの健全性チェック応答で文字列 under construction をフィルタリングするように HTTP 健全性モニターを構成します。
: > configure healthmonitor System-HTTP : healthmonitor> http_monitor : healthmonitor:http_monitor> maintenance_response "under construction" : healthmonitor:http_monitor> save : healthmonitor> save
次のコマンドは、同じ HTTP 健全性モニターを、サーバからの健全性チェック応答で応答コード 500 および 501 をフィルタリングするように構成します。次のコマンドは、サーバからの健全性チェック応答で文字列 under construction をフィルタリングするように HTTP 健全性モニターを構成します。
: > configure healthmonitor System-HTTP : healthmonitor> http_monitor : healthmonitor:http_monitor> maintenance_code 500 : healthmonitor:http_monitor> maintenance_code 501 : healthmonitor:http_monitor> save : healthmonitor> save
次のコマンドは、健全性モニターの構成を編集して、応答文字列のフィルタリングを削除します。
: > configure healthmonitor System-HTTP : healthmonitor> http_monitor : healthmonitor:http_monitor> no maintenance_response : healthmonitor:th> save : healthmonitor> save