NSX Advanced Load Balancer(Avi)の検証環境を構築します。今回は、2台の Web サーバに分散する Virtual Service を作成してみます。
前回はこちら。
今回の内容です。
1. 作成する Virtual Service について
今回は、次のような Virtual Service を作成します。赤字部分の3つのコンポーネントを作成していきます。
- Virtual Service: test-vs-01
- VIP: test-vs-01
- アドレス: 192.168.61.241(PG: dvpg-0061-avi-01)
- Pool: test-pool-01
- メンバー サーバ(PG: dvpg-0062-avi-02)
- lab-web-01: 192.168.62.72
- lab-web-02: 192.168.62.91
- メンバー サーバ(PG: dvpg-0062-avi-02)
- ポート: 80
- VIP: test-vs-01
ラボ環境の全体像はこちらをどうぞ。
2. 検証用 Web サーバの用意
今回は、事前に 2台の Web サーバを用意してあります。
1台目
- 仮想マシン名: lab-web-01
- IP アドレス: 192.168.62.72
- ポートグループ: dvpg-0062-avi-02
2台目
- 仮想マシン名: lab-web-02
- IP アドレス: 192.168.62.91
- ポートグループ: dvpg-0062-avi-02
どちらの Web サーバも、下記のようなシンプルな Web ページを表示します。
3. Virtual Service の作成
Virtual Service を作成するウィザードから VIP と Pool を一緒に作成できますが、今回はあえて個別作成していきます。
3-1. VIP の作成
「Applications」→「VS VIPs」を開いて、「CREATE」をクリックします。
「General」セクションで、VIP の名前を入力します。
- Name: test-vip-01
そして、VIPs で「ADD」をクリックします。
VIP のアドレスを入力します。
- IPv4 Address: 192.168.61.241
さらに「Placement Network」にある「ADD」をクリックします。
VIP を配置するポートグループの設定を選択して、「SAVE」をクリックします。
- Placement Network: dvpg-0061-avi-01
- IPv4 Subnet: 192.168.61.0/24
ひとつ前の画面に戻るので、Network(ポートグループ)と IPv4 Subnet が選択されたことを確認して「SAVE」をクリックします。
さらにひとつ前の画面に戻るので、IP Address(VIP)が入力されたことを確認して「SAVE」をクリックします。
3-2. Pool の作成
「Applications」→「Pools」を開いて、「CREATE POOL」をクリックします。
「General」セクションで次のパラメータを入力します。
- Name: test-pool-01
- Default Server Port: 80
- Load Balance Algorithm: Round Robin(デモで動作確認しやすいので)
「Servers」セクションで、ロードバランス先のサーバを接続ポートグループをもとに選択してみます。「BY NETWORK」をクリックします。
「dvpg-0062-avi-02」ポートグループを選択すると、接続されている仮想マシンが表示されます。
今回は次のサーバを選択して「ADD」をクリックします。
- lab-web-01、192.168.62.72
- lab-web-02、192.168.62.91
ひとつ前の画面に戻り、2つのサーバが選択されたことが確認できます。
「Health Monitor」セクションで「System-HTTP」を選択して、「SAVE」をクリックします。
これで Pool が作成されました。ちなみに、まだ Virtual Service に割り当てられていないので灰色になっています。
3-3. Virtual Service の作成
「Applications」→「Virtual Service」を開いて、「CREATE VIRTUAL SERVICE」→「Advanced Setup」をクリックします。
「Step 1: Settings」画面で、次のようにパラメータを入力して、下にスクロールします。
- Name: test-vs-01
- VS VIP: test-vip-01
- TCP/UDP Profile: System-TCP-Proxy
- Application Profile: System-HTTP
次のようにパラメータを入力して「Next」をクリックします。
- Services: 80
- Pool: test-pool-01
「Step 2: Policies」画面は、そのまま「Next」をクリックします。
「Step 3: Analytics」画面も、そのまま「Next」をクリックします。
「Step 4: Advanced」画面で「Save」をクリックすると、Virtual Service が作成されます。
4. Virtual Service の確認
Virtual Service を作成すると、自動的に Service Engine VM がデプロイされ、しばらく待つと VIP 経由でメンバー サーバにアクセスできるようになります。
ひとつめの Virtual Service を作成すると、Service Engine VM がまだデプロイされていないため、VIP にアクセスできるようになるまでに OVF のデプロイ処理と起動を待つことになります。
「Applications」→「Dashboard」で「View VS Tree」を選択すると、下記のように Virtual Service / Pool / サーバ の関係が図示されます。
ちなみに丸いアイコンが緑になるには、少し時間がかかります。
Web ブラウザから Virtual Service に設定した VIP アドレスにアクセスると、検証用 Web サーバのページが表示されます。F5 キーなどでブラウザの画面を更新すると、2台の Web サーバのページが交互に表示されるはずです。
Virtual Service が割り当てられた Service Engine VM を確認すると、ネットワーク アダプタ 2 ~ 10 のいずれかに、VIP ネットワークとバックエンド ネットワークのポートグループが割り当てられているはずです。
以上、NSX ALB 22.1.2 で検証環境を構築してみる話でした。