NSX Advanced Load Balancer では、SE グループとそのバックエンド プール間の双方向の仮想サービス レイヤー 2 トラフィックを、クローン作成されたトラフィック サーバ(またはサーバのセット)または特定のサブネットにレプリケート(クローン作成)できます。概念的には、この機能は SPAN ポートの動作を模倣したものです。トラフィックのクローン作成は通常、侵入検知システム (IDS)、侵入防止システム (IPS)、およびモニタリング ツールに適用されます。
トラフィックのクローン作成機能を、NSX Advanced Load Balancer のサイドバンド プロファイル機能と混同しないように注意してください。どちらの機能も、補助サーバまたは一連のサーバにトラフィックをレプリケートしますが、多くの重要な点で違いがあります。これらの機能の詳細については、「仮想サービスのサイドバンド プロファイル」および「NSX Advanced Load Balancer のトラフィック レプリケーション オプション」を参照してください。
トラフィックのクローン作成の仕組み
次の図は、サーバのプールで実行されているロード バランシングされたアプリケーションの通常のトラフィック フローを示しています。仮想サービス VS-1 は SE に配置されます。VS-1 でトラフィックのクローン作成が有効になっている場合、SE-1 は、すべての SE サーバ プール トラフィック(背景が黄色)を複製し、そのトラフィック(背景色が明るい紫色)を構成済みの IP アドレスに送信します。このトラフィックは完全にステートレスであるため、SE は TCP ハンドシェイクを実行せず、構成済みのクローン作成されたトラフィック サーバ プールに送信されるトラフィックに対する応答を想定しません。オプションで、元のクライアントの IP アドレスを保持するように SE でトラフィック クローン プロファイルを構成できます。
クローン作成されたトラフィック サーバのセットが構成されている場合、SE はラウンドロビン方式でトラフィックを分散します。この分散は、仮想サービスのバックエンド アプリケーション サーバ プール内のサーバを選択するアルゴリズムとは独立しています。クライアント IP アドレスを保持し、復号化されたトラフィックをクローン作成されたトラフィック サーバに送信するように NSX Advanced Load Balancer を構成できます。
範囲と使用に関するガイドライン
クローン作成されたトラフィック サーバまたはサブネットは、SE グループのメンバーに直接接続する必要があります。SE インターフェイスが正しいネットワークに接続されていることを確認します。
トラフィックのクローン作成は現在、Linux サーバ クラウド、Cisco CSP 2100、AWS、OpenStack、vCenter Server 書き込みアクセス、および No-Orchestrator クラウドでのみサポートされています。
AWS Cloud でトラフィックのクローン作成を機能させる主なポイントは次のとおりです。
クローン サーバ インスタンスは、直接接続されたネットワークに配置されている必要があります。
AWS コンソールから、トラフィック クローン サーバの送信元と宛先のチェックを無効にします。詳細については、AWS CloudFormation User Guideの「SourceDestCheck」セクションを参照してください。
クローン サーバ SG を更新して、すべての IP アドレスからのアプリケーション(プール サーバ)ポートの受信トラフィックを許可します。
0.0.0.0/0 からの TCP ポート 80
複数テナントの展開で、同じテナントに対して VIP とトラフィック クローン プロファイルが構成されていることを確認します。
テナント間のプロファイルまたは構成はサポートされていません。各テナントは個別のネットワーク名前空間で動作します。
マルチ AZ のサポートに特別な構成は必要ありません。単一の AZ の場合と同様に、サーバの IP アドレスとネットワーク情報のクローンを追加できます。
OpenStack でトラフィックのクローン作成を機能させるには、バックエンド サーバと同じネットワークにトラフィック クローン プロファイルを作成します。
注:パケットをキャプチャするには、入力方向と出力方向のセキュリティ グループ ルールを設定する必要があります。
ユーザー インターフェイスを使用したトラフィックのクローン作成
トラフィックのクローンを作成する方法
ユーザー インターフェイスまたは CLI を使用してトラフィック クローン プロファイルを作成する
ユーザー インターフェイスまたは CLI を使用して、トラフィック クローン プロファイルを仮想サービスに割り当てる
ユーザー インターフェイスを使用したトラフィック クローン プロファイルの作成
NSX Advanced Load Balancer ユーザー インターフェイスを使用してトラフィック クローン プロファイルを作成するには、次の手順を実行します。
の順に移動します。
[作成] をクリックし、トラフィック クローンの名前を入力します。
[クラウドの設定] をクリックします。
[クラウドの設定] 画面の [クラウド] ドロップダウン メニューからクラウドを選択します。
注:使用可能なクラウドが 1 つしかない場合、デフォルトでクラウドが選択され、[クラウドの設定] フィールドは使用できません。
[設定] をクリックします。
クライアント IP アドレスをクローンの宛先に保持する必要がある場合は、[クライアント IP アドレスの保持] チェック ボックスをオンにします。
[追加] をクリックして、[クローン サーバ] サブ画面を開きます。
トラフィックのクローンを作成する必要があるネットワークを選択します。
トラフィックのクローンを作成する必要があるネットワークの [サブネット] を入力します。
注:[クローン サーバ] サブ画面で、[サブネット] ドロップダウンを使用できるのは、選択したネットワークにサブネットが構成されている場合のみです。選択したネットワークにサブネットが構成されていない場合、[サブネット] フィールドは表示されません。
サーバの [IP アドレス] を入力します。
クローン サーバの [MAC アドレス] を入力します。
[保存] をクリックして、クローン サーバの作成を完了します。
[保存] をクリックしてトラフィック クローンの作成を完了します。
CLI を使用したトラフィック クローン プロファイルの割り当て
仮想サービス トラフィックのクローン作成を有効にするには、トラフィック クローン プロファイルを必要な仮想サービスに関連付けます。
トラフィックがクローン作成される仮想サービスを編集モードで開きます。
[詳細] タブに移動します。
[その他の設定] で、[トラフィック クローン プロファイル] を選択します。
仮想サービスを [保存] します。
CLI を使用したトラフィックのクローン作成
トラフィックのクローンを作成するには、トラフィック クローン プロファイルを作成し、必要な仮想サービスに割り当てます。
トラフィック クローン プロファイルの作成
トラフィック クローン プロファイルの割り当て
CLI を使用したトラフィック クローン プロファイルの作成
クローン サーバの詳細を次のように構成します。
[admin:controller-]: > configure trafficcloneprofile clone_profile_name [admin:controller-1]: trafficcloneprofile> clone_servers New object being created [controller]: trafficcloneprofile:clone_servers> ip_address 10.10.10.10 [admin:controller]: trafficcloneprofile:clone_servers> subnet 10.10.10.0/24 [admin:controller]: trafficcloneprofile:clone_servers> save [admin:controller]: trafficcloneprofile> save [admin:controller]:>
オプションで、クライアント IP アドレスを保持するようにプロファイルを構成するには、以前に入力した preserve_client_ip の値を上書きします。
[admin: controller]: trafficcloneprofile> preserve_client_ip
トラフィック クローン プロファイルを表示するには、次のコマンドを実行します。
[admin:controller]:>show trafficcloneprofile clone_profile_name
CLI を使用したトラフィック クローン プロファイルの割り当て
クローン プロファイルを仮想サービスに関連付けるには、次の CLI コマンドを実行します。
[admin:controller]: > configure virtualservice vs_name [admin:controller]: virtualservice> traffic_clone_profile_ref clone_profile_name [admin:controller]: virtualservice> save [admin:controller]:>
特定の仮想サービスのクローン作成統計情報を印刷するには、次のコマンドを実行します。
[admin:controller]: > show virtualservice vs_name traffic_clone_stats +-------------------------+------------------------------+ | Field | Value | +-------------------------+------------------------------+ | se_uuid | 10-10-22-224:se-005056b0bad2 | | proc_id | PROC_Aggregate | | clone_srvr_stats[1] | | | ip | 10.10.10.10 | | num_total_pkts_cloned | 10 | | num_mbuf_alloc_failed | 0 | | num_driver_failures | 0 | | num_succeeded | 10 | +-------------------------+------------------------------+ [admin:controller]: >
特定の仮想サービスに関連付けられているクローン プロファイルの構成を変更すると、その統計情報がリセットされます。
特別な条件
宛先 IP アドレスなし
一部の使用事例では、クローン作成されたトラフィックの受信側で、特定のタイプのネットワーク スニファーがすべてのネットワーク トラフィックをリッスンする場合があります。この場合、プロファイルで構成可能な宛先の IP アドレス、MAC アドレス、またはその両方が使用できない場合があります。この使用事例では、クローン作成されたトラフィック サーバの任意のダミー IP アドレスまたは MAC アドレスを使用してプロファイルを構成する必要があります。ただし、SE のインターフェイスがネットワークに接続されている場合は、サブネットが有効である必要があります。これは、SE がクローン作成されたトラフィックを送信するインターフェイスを確認するために必要です。SE は接続状態を維持せず、クローン作成されたトラフィック サーバからの応答を想定していないため、宛先の IP アドレス/MAC アドレスを有効にする必要はありません。
バックエンドの SSL
一部の使用事例ではエンドツーエンドの SSL 暗号化が必要になる場合がありますが、クローン作成されたトラフィック サーバに送信されるトラフィックは常に暗号化されていない必要があります。サーバには、SSL 経由でクライアント コミュニティと直接対話するために必要な認証情報がないことに注意してください。この場合、ユーザーは次の図に示すように 2 つの仮想サービスを並行して構成し、VS1-A が VS1 のプール サーバとして追加されるようにする必要があります。
クライアント トラフィック SSL は SE-1 の VS1 によって終了し、SE-2 の VS1-A によって再暗号化されてから、バックエンド サーバにロード バランシングされます。VS-1 から VS1-A への暗号化されていないトラフィックとリターン トラフィックのクローンを作成できます。両方の仮想サービスが同じ SE に配置されないように、仮想サービスを個別のサービス エンジン グループに作成する必要があります。
この図は、バックツーバック仮想サービス トラフィックのクローン作成の構成を示しています。暗号化されたクライアント トラフィック(緑色で色分け)は、フロントエンド VIP ネットワークを介して VS-1 に入ります。復号化されたパケットレベルのトラフィック(緑色の点線の矢印)は、SE-1 からクローン作成されたトラフィック サーバ、および SE-2 に向かって外側に流れます。
バックエンド プールからの応答(青色)は、SE-2 によって受信され、復号化および処理されて、SE-1 に転送され、ここでクローン作成されたトラフィック サーバにレプリケートされます。SE-1 は、クライアントに送信された応答を暗号化します。