このセクションでは、NSX Advanced Load Balancer OpenStack AZ 認識の動作について説明します。
NSX Advanced Load Balancer OpenStack 展開では、OpenStack アベイラビリティ ゾーンを認識します。仮想サービスの冗長リソース(サービス エンジン、プール メンバーなど)を OpenStack AZ 間で展開すると、アプリケーションが停止する可能性が低くなります。
OpenStack AZ はサブネットを分離しません。逆に、サブネットは OpenStack AZ にまたがります。デフォルトでは、すべてのホストはすべてのサブネットにアクセスできます。したがって、この機能を使用しても、ネットワークの停止からアプリが免除されることはありません。
OpenStack AZ の展開
NSX Advanced Load Balancer の OpenStack AZ 認識により、SE グループ内の SE が複数の OpenStack AZ に展開されます。
上記のフローは次のとおりです。
AZ-1 と AZ-2 の 2 つの AZ が定義されています。時間 t0 に開始し、SE グループが合計 4 つの SE に展開されて表示されます。
t1 では、SE1 は AZ-1 に展開されます。それ以上にグループを拡張する場合、NSX Advanced Load Balancer の目標は、グループが各 AZ に少なくとも 1 つの SE を確実に持つようにすることです。
SE2 を展開する必要がある場合、NSX Advanced Load Balancer は AZ-2 に配置しようとします。この配置は t2 で成功しています。
以降の SE 展開では、NSX Advanced Load Balancer は定義されたすべての AZ の中からランダムに選択します。
NSX Advanced Load Balancer は SE3 を展開するときに、AZ-2 をランダムに選択します。しばらくすると、SE4 が展開されます。AZ-1 はランダムに選択されます。
ただし、AZ-2 が選択された可能性があります。NSX Advanced Load Balancer は、ランダム アルゴリズムに依存して、SE を時間の経過とともに AZ 間で均等に分布します。AZ を選択する際、AZ の既存の SE 占有率は考慮されません。
AZ に障害が発生した場合、NSX Advanced Load Balancer は影響を受けた SE を残りの状態が良好な AZ に再展開し、常に少なくとも 1 つの SE がそれぞれで実行されるようにします。
NSX Advanced Load Balancer ユーザー インターフェイスを介した OpenStack AZ の構成
SE グループのリストについては、[編集] アイコンをクリックします。
の順に移動します。[SE グループ エディタ] が表示されたら、[詳細] タブをクリックして、SE 配置オプションを表示します。NSX Advanced Load Balancer OpenStack AZ 認識をオフのままにするには、[任意]([サービス エンジンの範囲] のデフォルト)を選択します。または、[アベイラビリティ ゾーン] を選択し、ドロップダウン メニューから 1 つ以上の AZ を選択します。
NSX Advanced Load Balancer CLI を介した OpenStack AZ の構成
ServiceEngineGroup オブジェクト内の繰り返しグループである openstack_availability_zones に値を割り当てることで、1 つ以上の OpenStack アベイラビリティ ゾーンを指定します。NSX Advanced Load Balancer は、1 つ以上のゾーンが定義されている場合に、SE グループ メンバーをアベイラビリティ ゾーンに展開します。openstack_availability_zones 値を指定しない場合、デフォルト(AZ 認識なし)が優先されます。
NSX Advanced Load Balancer シェルの configure コマンドは、ServiceEngineGroup オブジェクト内のパラメータの値を示し、パラメータの変更を許可します。以下は省略された出力例であり、ほとんどのパラメータは説明を明確にするために削除されています。
admin:jenkins-func-placement-controller]: > configure serviceenginegroup Default-Group Updating an existing object. Currently, the object is: +---------------------------------------+---------------------------------------------------------+ | Field | Value | +---------------------------------------+---------------------------------------------------------+ | uuid | serviceenginegroup-5c82725c-8932-4f8a-88f7-f8063546c293 | | name | Default-Group | | max_vs_per_se | 4 | | min_scaleout_per_vs | 1 | | max_scaleout_per_vs | 2 | | max_se | 4 | . . . . . . . . . | openstack_availability_zones[1] | testAZ | | openstack_availability_zones[2] | nova | . . . . . . . . . +---------------------------------------+---------------------------------------------------------+