接続のミラーリング機能を使用すると、高可用性の展開のすべてのサービス エンジンで TCP/UDP 接続とフロー テーブル情報を維持または同期できます。デフォルトでは、フェイルオーバー イベントが発生すると、既存のすべての接続が以前のプライマリ ノードによって閉じられ、フェイルオーバー後に新しいプライマリ ノードまたはリーダー SE がクライアントとバックエンド サーバへの新しい接続を確立する必要があります。
接続のミラーリング機能が有効になっている場合、新しいプライマリ ノードには、確立されているすべての既存の接続の情報が含まれます。フェイルオーバー イベント後にリーダーになる SE は、サービスを中断することなく、既存の接続を引き続き提供します。この機能は、シームレスな高可用性フェイルオーバーを提供します。
NSX Advanced Load Balancer は、TCP プロファイル タイプ、TCP 高速パスに対してのみ接続のミラーリングをサポートします。TCP 高速パス プロファイルは TCP 接続をプロキシしません。クライアントを宛先サーバに直接接続し、クライアントの宛先仮想サービス アドレスを選択した宛先サーバの IP アドレスを使用して変換します。
この機能では、クライアント IP アドレスのパーシステンスはサポートされていません。
NSX Advanced Load Balancer でサポートされている TCP/UDP プロファイルの詳細については、「TCP-UDP プロファイル」を参照してください。
使用事例
デフォルトでは、アクティブ/アクティブ HA 展開または Legacy HA フェイルオーバーでスケールアウト イベントが発生した場合、すべてのアクティブな接続は新しいプライマリ ノードに転送されません。これにより、新しいリーダーまたは新しいプライマリ ノードがクライアントおよびバックエンド サーバとの新しい TCP 接続を確立するため、ユーザーのアプリケーションが中断されます。
この機能は、バックエンド サーバが複数のユーザーの多数の接続をホストしている場合に、ミッション クリティカルなアプリケーションのサービス中断を最小限に抑えます。
展開モード
NSX Advanced Load Balancer での接続のミラーリングでは、次の展開モードがサポートされます。
デフォルト ゲートウェイとクライアント IP の保持機能を使用して展開されたレガシーのアクティブ/スタンバイ HA モード。[クライアント IP の保持]機能が有効になっている場合、サーバ側の TCP 接続はクライアント IP アドレスとバックエンド サーバの IP アドレスの間にあります。接続がいずれかの SE で終了する場合でも、TCP 接続は SE のインターフェイス IP アドレスから独立しているため、この展開モードでは接続のミラーリングが可能です。
バックエンド サーバで SNAT IP が有効になっているレガシーのアクティブ/スタンバイ HA モード。
SNAT IP が有効になっている場合、サーバ側の TCP 接続は SNAT IP アドレスとバックエンド サーバの IP アドレスの間にあります。接続がいずれかの SE で終了する場合でも、TCP 接続は SE のインターフェイス IP アドレスから独立しているため、この展開モードでは接続のミラーリングが可能です。
この機能では、次の展開モードはサポートされていません。
インターフェイス IP アドレスを持つ標準のレガシー アクティブ/スタンバイ モード。このモードでは、プライマリ ノードの SE のインターフェイス IP アドレスとサーバ IP アドレスの間にサーバ側の TCP 接続が確立されます。プライマリ ノードで障害が発生した場合、新しいプライマリ ノードのインターフェイス IP アドレスが異なるので、ピア SE は新しい TCP 接続を確立する必要があります。
アクティブ/アクティブ モードまたは N+M モードの Elastic HA。
仮想サービスに対して送信元 NAT IP アドレスが有効になっているアクティブ/アクティブ モード。
このモードでは、個々の SE の SNAT IP アドレスとバックエンド サーバの IP アドレス間でサーバ側の TCP 接続が確立されるため、TCP 接続は同期されません。
TCP プロキシ モードに設定された TCP プロファイル タイプでは、接続のミラーリングはサポートされていません。TCP プロキシを有効にすると、NSX Advanced Load Balancer はクライアントからの受信接続を終了します。サーバに送信されるクライアントからのアプリケーション データは、新しい TCP 接続を介してそのサーバに転送されます。
TCP プロキシ モードでは、すべての接続が SE で終了するため、ピア SE への接続の同期は非常に複雑で、エラーが発生しやすくなります。
CLI を使用した接続のミラーリングの有効化
接続のミラーリング機能は、CLI を使用して System-TCP-Fast-Path プロファイルで [connection_mirror] フラグの値を true
に設定することで有効になります。デフォルトでは、connection_mirror フラグの値は、show networkprofile System-TCP-Fast-Path コマンドの出力に示すように TCP 高速パス プロファイルで False
に設定されています。
[admin-10.1.1.1]: > show networkprofile System-TCP-Fast-Path +---------------------------+------------------------------------------------------+ | Field | Value | +---------------------------+------------------------------------------------------+ | uuid | networkprofile-8fb03f55-5b46-41be-9b89-0f125c9662fb | | name | System-TCP-Fast-Path | | profile | | | type | PROTOCOL_TYPE_TCP_FAST_PATH | | tcp_fast_path_profile | | | session_idle_timeout | 300 sec | | enable_syn_protection | False | | connection_mirror | False | | tenant_ref | admin | +---------------------------+------------------------------------------------------+
この機能を有効にするには、networkprofile コマンドを使用して、tcp_fast_path_profile で connection_mirror フラグを有効にします。
NSX Advanced Load Balancer CLI にログインし、次の手順を実行します。
[admin:10.1.1.1]: > configure networkprofile System-TCP-Fast-Path Updating an existing object. Currently, the object is: +---------------------------+-----------------------------------------------------+ | Field | Value | +---------------------------+-----------------------------------------------------+ | uuid | networkprofile-2c4f833d-5f2f-49f8-a9fe-e1aac04a0bf4 | | name | System-TCP-Fast-Path | | profile | | | type | PROTOCOL_TYPE_TCP_FAST_PATH | | tcp_fast_path_profile | | | session_idle_timeout | 300 sec | | enable_syn_protection | False | | connection_mirror | False | | tenant_ref | admin | +---------------------------+-----------------------------------------------------+ [admin:10.1.1.1]: networkprofile> connection_mirror <CR> connection_mirror the object description Help string not found for argument name The name of the network profile. tenant_ref Help string not found for argument [admin:10.1.1.1]: networkprofile> connection_mirror Overwriting the previously entered value for connection_mirror [admin:10.1.1.1]: networkprofile> save +---------------------------+-----------------------------------------------------+ | Field | Value | +---------------------------+-----------------------------------------------------+ | uuid | networkprofile-2c4f833d-5f2f-49f8-a9fe-e1aac04a0bf4 | | name | System-TCP-Fast-Path | | profile | | | type | PROTOCOL_TYPE_TCP_FAST_PATH | | tcp_fast_path_profile | | | session_idle_timeout | 300 sec | | enable_syn_protection | False | | connection_mirror | True | | tenant_ref | admin | +---------------------------+-----------------------------------------------------+
接続がスタンバイ サービス エンジンにミラーリングされていることを示す次のコマンドを使用して、接続のミラーリングが機能しているかどうかを確認できます。
[admin:10-140-4-46]: > show virtualservice vs_conn_mirror tcpstat |grep mir | mirror_conn_list_on_active | 49999 | | mirrored_connections_on_standby | 49999 |
レイヤー 4 接続のミラーリングの詳細については、以下を参照してください。