GWLB のバックエンドサーバーがヘルスチェックに失敗した場合や削除された場合、新規トラフィックは他の正常なサーバーにルーティングされます。しかし、既存のトラフィックは利用不可になったサーバーに転送され続け、パケット損失が発生する可能性があります。サーバーグループのリバランス機能を有効にすると、GWLB はこの既存のトラフィックを他の正常なサーバーに再ルーティングします。
リバランスの利点
リバランスのステータス | 無効 | 有効 |
シナリオ図 | ||
既存トラフィックの処理方法 | 既存トラフィックは利用不可になったサーバーへ転送され続けるため、パケット損失が発生する可能性があります。 | 既存トラフィックは即座に他の正常なサーバーへ再ルーティングされ、サービス継続性が確保されます。 |
リバランス機能には以下の利点があります:
サードパーティ製のファイアウォールなどのネットワーク仮想アプライアンス (NVA) で、シームレスなアップグレードとメンテナンスが可能になります。
NVA のフェイルオーバーによるトラフィックの中断を処理するための特別なアプリケーションロジックが不要になります。
リバランスの仕組み
バックエンドサーバーがヘルスチェックに失敗するか、削除された後:
新規トラフィックは、他の正常なサーバーに直接ルーティングされます。
既存トラフィックの処理方法は、複数の条件によって決まります:
利用不可の理由
コネクションドレイニング
リバランス
結果
ヘルスチェックの失敗
該当なし
✅
他の正常なサーバーへ再ルーティングされます
❌
利用不可になったサーバーへ転送され続けます
✅
Rerouted to other available servers
❌
Continues to be forwarded to the unavailable server
サーバーの削除
✅
✅
コネクションドレイニングのタイムアウト期間中は、利用不可になったサーバーへ転送され続けます。
コネクションドレイニングのタイムアウト期間が終了すると、トラフィックは他の正常なサーバーへ再ルーティングされます。
✅
❌
利用不可になったサーバーへ転送され続けます
❌
✅
他の正常なサーバーへ再ルーティングされます
❌
❌
利用不可になったサーバーへ転送され続けます
リバランスの有効化
コンソール
GWLB コンソールで、サーバーグループ ページに移動します。サーバーグループを作成する際、詳細設定 セクションで 既存トラフィックのリバランス (推奨) を有効または無効にします。
または、既存のサーバーグループの場合は、基本情報の編集 ページを開いて 既存トラフィックのリバランス (推奨) を有効または無効にすることもできます。
この機能が有効になると、サーバーに障害が発生したり削除されたりした場合に、GWLB は既存のトラフィックを正常なサーバーにリバランスします。トラフィックがステートフルプロトコルを使用している場合は、それに応じてバックエンドサーバー上の NVA を設定する必要があります。
API
リバランスを有効または無効にするには、CreateServerGroup API または UpdateServerGroupAttribute API を呼び出し、ServerFailoverMode パラメーターを設定します。
ServerFailoverMode パラメーターの有効な値は次のとおりです:
NoRebalance (デフォルト):既存のトラフィックをリバランスしません。
Rebalance:既存のトラフィックをリバランスします。
リバランス機能のステータスを照会するには、ListServerGroups API を呼び出します。
トラフィックがステートフルプロトコルを使用している場合は、それに応じてバックエンドサーバー上のネットワーク仮想アプライアンス (NVA) を設定する必要があります。
たとえば、TCP トラフィックの場合、ファイアウォールは、最初の SYN セグメントなしで TCP セッションを確立できるように設定する必要があります。
仕組み:
TCP は 3 ウェイハンドシェイクを使用して接続を確立します。このプロセスでは、クライアントが SYN セグメントを送信し、サーバーが SYN-ACK セグメントで応答し、クライアントが ACK セグメントを送信して接続を完了します。
GWLB が既存のトラフィックをリバランスするとき、既存の接続が、ある NVA から別の NVA に転送されることがあります。この操作により、TCP セッションが新しい NVA に転送される可能性があります。新しい NVA が最初の SYN セグメントなしで TCP セッションを確立することをサポートしていない場合、接続はドロップされます。したがって、中断を防ぐためには、NVA がこれらの「SYN なし」のミッドストリーム接続をシームレスに受け入れることができなければなりません。
設定例:FortiGate ファイアウォールでは、ファイアウォールポリシーで
tcp-session-without-synを有効にします。詳細については、「お使いのファイアウォールベンダーの公式ドキュメント」をご参照ください。
リバランスがトリガーされると、異常または削除されたサーバーに転送されていた既存のトラフィックは、サーバーグループ内の残りの正常なサーバーに再分散されます。
サーバーグループの容量の冗長性を評価し、いずれかのサーバーに障害が発生した場合でも、残りのサーバーが再分散されたトラフィックを処理でき、突然のトラフィックスパイクによる過負荷を回避できるようにしてください。変更を加える前にサーバーグループ内の各サーバーの負荷レベルを確認し、十分な容量の冗長性を確保してください。