このセクションでは、NSX Advanced Load Balancer CLI での一般的な管理タスクを実行する例を示します。

CLI:仮想サービスとプールの作成

仮想サービスを作成する際は、プールを構成する必要があります。このプールは、仮想サービスを作成する前に作成する必要があります。

CLI を使用して、以下を作成します。

  1. プール

  2. VsVIP

  3. 仮想サービス

注:

次の例は、新しいアプリケーションを正常に展開するために必要な最小構成のみを示しています。仮想サービスとプールのカスタマイズでは、多くの追加オプションを使用できます。

プールの作成

: > configure pool Test
: pool> servers ip 10.1.1.100 port 80
: pool:servers> save
: pool> servers ip 10.1.1.101 port 80
: pool:servers> save
: pool> where
Tenant: admin
+------------+------------+
| Field      | Value      |
+------------+------------+
| name       | Test       |
| servers[1] |            |
| ip         | 10.1.1.100 |
| port       | 80         |
| servers[2] |            |
| ip         | 10.1.1.101 |
| port       | 80         |
+------------+------------+
: pool> save

VsVIP の作成

: > configure vsvip Test_vsVip
: vsvip> vip ip_address 10.10.10.10
: vsvip:vip> save
: vsvip> save

仮想サービスの作成

: > configure virtualservice Test_VS
: virtualservice> vsvip_ref Test_vsVip
: virtualservice> pool_ref Test
: virtualservice> services port 80
: virtualservice:services> save
: virtualservice> save

プール サーバの変更

一般的なタスクは、既存のプールに対してサーバの追加や削除を行ったり、プール内のサーバを有効または無効にすることです。サーバはポートを指定せずにプールに追加できますが(プールまたは仮想サービスのポートを継承)、CLI では IP アドレスとポートを使用して、有効化や無効化などのタスクのためにサーバを操作する必要があります。

次のコマンドを実行すると、.101 サーバが削除され、Test という名前のプールに新しい .102 サーバが追加されます。

configure pool Test
no servers ip 10.1.1.101 port 80
servers ip 10.1.1.102 port 80
[admin]: pool:servers save

次のコマンドを実行すると、.100 サーバのサブモードに切り替わり、それが無効になります。

ip 10.1.1.100 port 80
where
Tenant: admin
+-------+------------+
| Field | Value      |
+-------+------------+
| ip    | 10.1.1.100 |
| port  | 80         |
+-------+------------+
no enabled
+---------+------------+
| Field   | Value      |
+---------+------------+
| ip      | 10.1.1.100 |
| port    | 80         |
| enabled | False      |
+---------+------------+
save

構成のエクスポートまたはインポート

NSX Advanced Load Balancer Controller には、構成情報を格納するデータベースがあります。これには、テナント、仮想サービス、プール、ポリシー、およびアカウントに関連するすべての構成が含まれます。この構成をバックアップのために JSON ファイルとしてエクスポートするか、構成の一部を別の NSX Advanced Load Balancer Controller に移行します。

構成は CLI を介してバックアップするか、別の Controller クラスタに移動できます。エクスポートされる構成は、システム構成全体、現在のユーザーおよび管理者のテナントのアクセス権に基づいた限定的なバージョン、または単一の仮想サービスとその子プロパティです。

1 つの仮想サービスとその子オブジェクト(プールなど)のみをエクスポートするには、export コマンドで configuration フラグの代わりに virtualservice フラグを使用します。

次のコマンドは、構成を config_export という名前のファイルにエクスポートし、それをリモートの場所に対して SCP し、NSX Advanced Load Balancer シェルに戻します。

export configuration file config_export
Completed writing the export configuration to config_export
bash

pwd
/home/admin
ls
config_export
scp ./config_export root@10.1.1.1:/root
root@10.1.1.1's password:
config_export 100% 232KB 431.8KB/s 00:00
exit

構成のインポートを開始する前に、クラスタのすべてのコントローラ メンバーが起動しており、クラスタ リーダーに次の構成があることを確認します。

  • 管理アカウント

  • クラスタ構成

  • OpenStack インフラストラクチャ(OpenStack のみ)

次のコマンドは、バックアップされた構成を Controller クラスタにインポートします。

import configuration file /home/admin/myconfig keep_uuid
Successfully imported the configuration file

この構成の情報を空の NSX Advanced Load Balancer Controller にリストアできます。リストア手順は次のとおりです。

  • 3 台の新しいコントローラ ノードを展開します。イメージ タイプ(OVA、qcow2、ami)は、構成のエクスポート元であるコントローラ ノードのイメージ タイプと一致する必要があります。

  • リーダーとしてコントローラを 1 つ選択し、初期セットアップ ページに移動して、初期セットアップ情報と冗長な Controller クラスタ情報を入力します。

  • CLI または API を使用して構成をインポートします。

これらの手順を実行すると、クラスタは元のクラスタと同じ実行状態に戻ります。

構成フィルタのエクスポート

フィルタを使用して、エクスポートしたファイルを調整することもできます。次のフィルタがサポートされています。

フィルタ名

説明

full_system

完全な構成(パーシステント ランタイムを含む)を、「構成のリストア」に記載されている形式でエクスポートします。この構成を、CLI または REST API を使用してインポートすることはできません。

obj_type

エクスポートされたオブジェクトを特定のオブジェクト タイプのセットに制限します。

recurse

オブジェクトの依存関係ツリー全体(一部のランタイムを含む)を、フィルタリングされた構成でエクスポートします。

パスフレーズ

秘密データを暗号化します。構成をインポートするには、同じパスフレーズを指定する必要があります。

検索

特定の文字列を含むオブジェクトのみをエクスポートします。

skip_default

エクスポートされた構成にあるオブジェクトのデフォルト値を削除します。

tenant_ref

指定したテナント内のオブジェクトのみをエクスポートします。

すべての仮想サービスと依存関係をエクスポートするには、次のコマンドを使用します。

export configuration file config\_export obj\_type virtualservice recurse

テナント t1 のすべてのオブジェクトをエクスポートし、デフォルト値を除外するには、次のコマンドを使用します。

export configuration file config\_export tenant\_ref t1 skip\_default

パケット キャプチャ

NSX Advanced Load Balancer Controller は、SE によって処理されるデータ プレーン トラフィックをキャプチャするのに便利なメカニズムを提供します。管理者は、SE で実際のキャプチャが行われる間に、コントローラ CLI から capture コマンドを開始できます。パケット キャプチャは、コントローラに pcap 形式で保存されます。SE は、SE のクライアント側とサーバ側の両方でパケットをキャプチャします。仮想サービスが複数の SE にまたがってスケーリングされている場合は、該当するすべての SE がパケット キャプチャに参加します。コントローラはキャプチャを集約し、時間順にエントリを並べ替えます。キャプチャが完了すると、パーソナル コンピュータやその他のシステムにアップロードされ、tcpdump や Wireshark などの適切なツールを使用して分析されます。

指定した仮想サービスのパケット キャプチャ サブモードに入ります。

debug virtualservice Test-VS
Updating an existing object. Currently, the object is:
+-------+--------------------+
| Field | Value              |
+-------+--------------------+
| uuid  | virtualservice-0-1 |
| name  | Test-VS            |
+-------+--------------------+

パケット キャプチャのパラメータを定義できます。デフォルトでは、キャプチャは選択した仮想サービスのコンテキスト内で実行され、クライアント側とサーバ側からのパケットを含む、仮想サービス トラフィックを処理するすべての SE でも実行されます。

パラメータ名

説明

capture_params duration

時間(分単位)。デフォルト値は「制限なし」です。

capture_params num_pkts

収集するパケットの最大数。デフォルト値は「制限なし」です。

capture_params pkt_size

キャプチャするパケット サイズ、またはスナップ長。デフォルト値は「制限なし」です。

debug_ip addrs

IP4 アドレス形式 <x.x.x.x>

debug_ip prefixes

IP4 プレフィックス形式 <x.x.x.x/x>

debug_ip コマンドはサブモードに入ります。これにより、複数の IP アドレスまたは IP サブネットを入力できます(以降のエントリの debug_ip は省略)。保存して目的の IP アドレスをコミットし、前のメニューに戻ります。
注:

デフォルトでは、キャプチャする最大パケット数や所要時間は定義されていません。次の例に示すように、最大パケット キャプチャを含めることをお勧めします。制限がないと、SE ディスクがいっぱいになるまでキャプチャが実行され、サービスが中断される可能性があります。

キャプチャするパケットの最大数を含むパラメータを指定します。

capture_params num_pkts 1000
debug_ip addrs 10.10.10.10
save

以前に構成したパラメータに基づいてキャプチャを開始します。

capture
save
+----------------+--------------------+
| Field          | Value              |
+----------------+--------------------+
| uuid           | virtualservice-0-1 |
| name           | Test-VS            |
| debug_ip       |                    |
| addrs[1]       | 10.10.10.10        |
| capture        | True               |
| capture_params |                    |
| duration       | 0 mins             |
| num_pkts       | 1000               |
+----------------+--------------------+

パケット キャプチャのサブモードに再度切り替え、実行中のパケット キャプチャを停止します。

debug virtualservice Test-VS
no capture
save

パケット キャプチャをリモート システムにエクスポートし、tcpdump や Wireshark などのツールを使用して表示します。

show debug virtualservice Test-VS capture
Please specify the destination directory: /tmp
Downloaded the attachment to /tmp/vs_virtualservice.20141205_192033.pcap
bash
scp /tmp/vs_virtualservice.192033.pcap user@10.1.1.1:/tmp

サーバへの同時接続のモニター

サーバへの同時接続数を追跡するには、プールのコンテキスト内でサーバを表示する必要があります。show の前に watch コマンドをプリペンドすることで、ほぼリアルタイムで接続数の最新情報を確認できます。接続が確立されてから、SE がコントローラに情報を返すポーリング間隔までの間には、ある程度の遅延があることに注意してください。Ctrl+Cwatch をキャンセルします。

watch show pool Test-pool server detail | grep -e 'ip\|open_conns'
| ip_addr    | 10.1.1.17 |
| open_conns | 50        |
| ip_addr    | 10.1.1.16 |
| open_conns | 49        |