このトピックでは、Controller ノードのネットワークから隔離されたネットワークでインスタンス化されているサービス エンジンから SE-Controller 通信を確立する方法について説明します。
接続のプロセスが開始するのは、新しくインスタンス化された SE から親コントローラへ送信される 1 つ目の通信です。このタイプの通信の例をいくつか挙げます。
Controller クラスタはファイアウォールの背後で保護されているが、SE はパブリック インターネットにある。
パブリック プライベート クラウドの展開で、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 が存在する間は、その設定を変更しないことが推奨されます。