バックエンドサーバーがゲートウェイロードバランサー (GWLB) によって異常と判断された場合、または GWLB に関連付けられたサーバーグループから削除された場合、新しい接続リクエストは残りの正常なバックエンドサーバーにルーティングされますが、既存の接続を介して送信されたリクエストは引き続き使用できないバックエンドサーバーに転送されます。 これにより、パケット損失が発生する可能性があります。 既存の接続を介して送信されたリクエストを正常なバックエンドサーバーにルーティングするには、サーバーグループのリバランス機能を有効にします。
リバランスが役立つ理由
リバランス機能の使用 | いいえ | はい |
サンプルシナリオ | ||
既存の接続を介して送信されたリクエストの処理方法 | 使用できないバックエンドサーバーに転送されるため、パケット損失が発生する可能性があります | 正常なバックエンドサーバーに転送されるため、サービスの継続性が確保されます |
リバランス機能を使用する主な利点:
サードパーティ製ファイアウォールなどのネットワーク仮想アプライアンス (NVA) のシームレスなスペックアップまたはメンテナンス
NVA のスイッチオーバーによって発生するサービス中断を処理するために、ユーザーアプリケーションロジックで特別な設計を行う必要はありません
リバランスの仕組み
バックエンドサーバーが異常と判断された場合、またはサーバーグループから削除された場合:
新しい接続リクエストは、正常なバックエンドサーバーに直接ルーティングされます。
既存の接続を介して送信されたリクエストは、複数の要因に基づいて転送されます。
バックエンドサーバーが使用できない理由
接続ドレインが有効
リバランスが有効
既存の接続を介して送信されたリクエストの転送先
バックエンドサーバーがヘルスチェックに失敗しました。
結果に影響はありません。
✅
残りの正常なバックエンドサーバー
❌
使用できないバックエンドサーバー
バックエンドサーバーがサーバーグループから削除されました。
✅
✅
指定されたタイムアウト期間: 使用できないバックエンドサーバー
タイムアウト期間に達した後: 残りの正常なバックエンドサーバー
✅
❌
使用できないバックエンドサーバー
❌
✅
残りの正常なバックエンドサーバー
❌
❌
使用できないバックエンドサーバー
リバランス機能を有効にする
コンソール
GWLB コンソール に移動します。 [サーバーグループ] ページで、サーバーグループを作成するときに、[詳細設定] セクションで [負荷分散 (推奨)] を有効または無効にします。

または、既存のサーバーグループの [基本情報の変更] ダイアログボックスで、[負荷分散 (推奨)] を有効または無効にします。

API
CreateServerGroup または UpdateServerGroupAttribute API で ServerFailoverMode パラメーターを設定することにより、リバランス機能を有効または無効にすることができます。
ServerFailoverMode パラメーターの列挙値:
NoRebalance (デフォルト)
Rebalance
サーバーグループでリバランス機能が有効になっているかどうかを確認するには、ListServerGroups 操作を呼び出します。
ステートフルプロトコルを介して送信されるトラフィックの場合、ファイアウォールなどのバックエンド NVA は、リバランス機能と連携するように構成する必要があります。
たとえば、TCP プロトコルを介して送信されるトラフィックの場合、最初の SYN (同期) セグメントを受信せずに TCP セッションを確立できるようにファイアウォールを構成します。
動作原理:
TCP 3 ウェイハンドシェイク: 通常、TCP 接続を確立するには 3 ウェイハンドシェイクが必要です。 このプロセスには、クライアントが SYN セグメントを送信し、サーバーが SYN-ACK (同期-確認応答) セグメントで応答し、クライアントが ACK (確認応答) セグメントを送信することが含まれます。
GWLB でリバランスが有効になっている場合、既存の接続を介して送信されたリクエストは元のバックエンド NVA に転送されず、新しい NVA に転送される場合があります。 3 ウェイハンドシェイクを完了していない TCP セッションの場合、リクエストは最初の SYN セグメントなしで新しい NVA に転送されます。 バックエンド NVA がこの場合に TCP セッションの確立をサポートしていないと、接続が中断されます。 これが、最初の SYN セグメントなしで TCP セッションを確立できるようにバックエンド NVA を構成する必要がある理由です。
構成例: FortiGate ファイアウォールの場合は、ファイアウォールポリシーで
tcp-session-without-synを有効にします。 詳細については、特定のファイアウォールベンダーが提供する公式ドキュメントを参照してください。