このトピックでは、Controller ノードのネットワークから隔離されたネットワークでインスタンス化されているサービス エンジンから SE-Controller 通信を確立する方法について説明します。

接続のプロセスが開始するのは、新しくインスタンス化された SE から親コントローラへ送信される 1 つ目の通信です。このタイプの通信の例をいくつか挙げます。

  1. Controller クラスタはファイアウォールの背後で保護されているが、SE はパブリック インターネットにある。

  2. パブリック プライベート クラウドの展開で、Controller はパブリック クラウド(AWS など)に配置されており、SE はユーザーのプライベート クラウドに配置されている。

実装方法

クラスタにある複数の Controller が相互に参照できる管理ノード アドレスに加えて、2 つ目の管理 IP アドレスまたは DNS で解決可能な FQDN を各 Controller に指定すつことができます。これは、隔離ネットワークに接続されている SE によってアドレス指定されます。この 2 つ目の IP アドレスまたは FQDN は、Controller によって、SE の生成に使用される SE イメージに 組み込まれます。NSX Advanced Load Balancer では、この機能をサポートするため public-ip-or-name パラメータが追加されました。

NSX Advanced Load Balancer CLI による パラメータの設定

初期リリースで、パラメータにアクセスする手段は、REST API と NSX Advanced Load Balancer CLI のみです。次の例の CLI では、単一ノード クラスタが採用されています。

[admin:my-controller-aws]: > configure cluster
Updating an existing object. Currently, the object is:
+---------------+----------------------------------------------+
| Field         | Value                                        |
+---------------+----------------------------------------------+
| uuid          | cluster-223cc977-f0de-4c5e-9612-7b0254b3057d |
| name          | cluster-0-1                                  |
| nodes[1]      |                                              |
|   name        | 10.10.30.102                                 |
|   ip          | 10.10.30.102                                 |
|   vm_uuid     | 005056b02776                                 |
|   vm_mor      | vm-222393                                    |
|   vm_hostname | node1.controller.local                       |
+---------------+----------------------------------------------+
[admin:my-controller-aws]: cluster> nodes index 1
[admin:my-controller-aws]: cluster:nodes> public_ip_or_name 1.1.1.1

説明

  • SE では、ネットワークからアドレス 10.10.30.102 を使用して Controller にアドレス指定(ルーティング)することはできません。

  • 管理スタッフは、NAT 対応ファイアウォールが機能していて、1.1.1.1 から 10.10.30.102 への変換をプログラムされていることを認識しています。

  • 文字列パラメータ public_ip_or_name はクラスタの 1 つ目の(唯一の)ノードのオブジェクト定義で 1.1.1.1 に設定されています。したがって、Controller cluster-0-1 では、SE を生成するために作成する SE イメージには(10.10.30.102 ではなく)1.1.1.1 を埋め込まなければならないことを認識しています。

  • SE が初めてアライブとなったとき、親 Controller のアドレスに IP アドレス 1.1.1.1 を指定します。

  • 当該 SE に対して完全に透過的であることと、ファイアウォールの NAT 機能により、初期通信は IP アドレス 10.10.30.102 に渡されます。

  • 後続の Controller-SE 間通信は通常どおり、あたかも Controller と SE が同じネットワークにあるかのように進行します。

重要な注意事項

  • public_ip_or_name フィールドを構成する必要があるノードは、クラスタのすべてのノードです。でなければ、どのノードにも構成しません。クラスタのノードのサブセットには構成できません。

  • この構成を有効化すると、すべてのクラウドの SE で、常に public_ip_or_name を使用して Controller との通信を試みます。現在、あるクラウドの SE でプライベート ネットワークを使用することが不可能でも、別のクラウドの SE で NAT 済みネットワークを使用します。

  • SE が作成される前にクラスタを構成する間は、この機能を有効化すること、SE が存在する間は、その設定を変更しないことが推奨されます。