Skip navigation

NSX の Distributed Load Balancing(DLB)を試してみます。


概要は Part 1 をどうぞ。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 1(準備編)


前回の投稿はこちらです。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 4(動作確認)

 

今回は、設定した DLB の vNIC でのフィルタを、ESXi に SSH ログインして見てみます。

win8-01a と web-02a が配置されている、ESXi「esx-02a」 に SSH ログインしています。

 

DVFilter の情報を表示できる summarize-dvfilter コマンドを、FW ルール適用の前後で実行してみました。

VIP 構成(FW ルール適用)前の状態。summarize-dvfilter コマンドの抜粋です。

web-02a と win8-01a の情報が表示されています。

nsx-dlb-p5-01.png

 

そして、VIP 構成(FW ルール適用)後の状態です。

DLR クライアントになる win8-01a に、フィルタが追加されています。

nsx-dlb-p5-02.png

 

vsipioctl コマンドで、追加されたフィルタのルール設定を確認してみます。

DNAT rulees に、 下記の設定のルールが追加されています。

  • out protocol: tcp(HTTP Service)
  • from addrset: ip-securitygroup-10
  • to ip: 172.16.10.9
  • port: 80(HTTP Service)
  • dnat addrset: ip-securitygroup-11
  • round-robin

nsx-dlb-p5-03.png

 

よい確認方法がまだ見つけられませんが、

このフィルタで指定されているオブジェクトの ID をもとに、NSX API でオブジェクト名を見てみました。

(当然ですが)NSX Firewall で指定したものと一致するようです。

※ラボの vCenter(vcsa-01a)から、NSX Manager(192.168.110.15) にアクセスして情報取得しています。


securitygroup-10 の name

curl -k -s -u 'admin:VMware1!' https://192.168.110.15/api/2.0/services/securitygroup/scope/globalroot-0 | xmllint --xpath '//securitygroup[objectId="securitygroup-10"]/name' - | more

 

securitygroup-11 の name

curl -k -s -u 'admin:VMware1!' https://192.168.110.15/api/2.0/services/securitygroup/scope/globalroot-0 | xmllint --xpath '//securitygroup[objectId="securitygroup-11"]/name' - | more

 

ip-securitygroup-~ というオブジェクトは、NSX Firewall で指定したセキュリティ グ ループと対応しているようです。

nsx-dlb-p5-04.png

 

serviceprofile-1 は、名前だけに絞らず見てみました。

curl -k -s -u 'admin:VMware1!' https://192.168.110.15/api/4.0/firewall/globalroot-0/config | xmllint --xpath '//*[objectId="serviceprofile-1"]' - | xmllint --format -

 

「serviceprofile-1」は、NSX Firewall で指定した Service Profile 「DLB-Service」です。

nsx-dlb-p5-05.png

 

NSX の DLB を設定してみたところ、既存のものを例に出すと

なんとなく vNIC レイヤで設定できる iptables DNAT ルールのような印象を受けました。

現状の DLB では SSL オフロードや URL Rewrite などができないそうですが、

DC 内の East-West 通信での利用を想定している機能のようなので、

シンプルなルール設定で利用するとよさそうに思いました。


以上、NSX の DLB を試してみる話でした。

NSX の Distributed Load Balancing(DLB)を試してみます。


概要は Part 1 をどうぞ。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 3(VIP 構成)

 

DLB クライアントになる VM からアクセス確認。


今回は、DLB クライアントとなる VM 「win8-01a」 の Webブラウザから、DLB の VIP にアクセスしてみます。

 

win8-01a に Remote Desktop Connection で接続します。

nsx-dlb-p4-01.png

 

CORP\Administrator ユーザで、HoL 共通のパスワードでログインできます。

nsx-dlb-p4-02.png

 

win8-01a の IE を開いて、リアル IP でそれぞれの Web サーバのページが表示されることを確認しておきます。

 

web-01a の 172.16.10.11 のページが表示できます。

nsx-dlb-p4-03.png

 

web-02a の 172.16.10.12 のページが表示できます。

nsx-dlb-p4-04.png

 

つづいて、DLB で設定した VIP である、172.16.10.9 にアクセスしてみます。

 

ちゃんと web-01a のページが表示されます。

nsx-dlb-p4-05.png

 

Roud-Robin で振り分けているので、

Web ページを開きなおすと、web-02a のページも表示されます。

※更新ボタンより、 IE を開きなおしたほうがよいかもしれません。

nsx-dlb-p4-06.png

 

East-West 通信(たとえば Web ~ App サーバ間など)むけの機能のようですが、

North-South 通信っぽい今回の構成(分散ルーティングもされていない)でも、いちおう動作しました。


まだつづく。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 5(ESXi から見た DLB Filter)

NSX の Distributed Load Balancing(DLB)を試してみます。

 

概要は Part 1 をどうぞ。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 1(準備編)

 

前回の投稿はこちらです。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 2(DLB 有効化)

 

手順について。

 

今回は、DLB で使用する VIP を構成します。

DLB の VIP は、NSX Firewall のルールとして設定することになります。

  1. Service Instance への Service Profile 適用。
  2. NSX Firewall での Balance ルール設定。

 

今回の構成では、このような感じになります。

※Part 1 と同じ絵です。

nsx-dlb-img-02.png

 

1. Service Instance への Service Profile 適用。

 

Web Client の Network & Security →

Service Definitions → Services → NSX-DLB をダブルクリックで開きます。

nsx-dlb-p3-01.png

 

Service Instances → NSX-DLB-GlobalInstance → Related Objects を開きます。

Service Profile「DLB-Service」が選択された状態で、「Apply to Objects」ボタンをクリックします。

nsx-dlb-p3-02.png

 

Object Type で「Security Group」 を選択したあと、DLB-Client-SG を選択して「OK」 をクリックします。

※ちなみに、「Object Type」は下記から選択できます。

  • Distributed Port Group
  • Security Group
  • Logical Switch

nsx-dlb-p3-03.png

 

Service Instance「NSX-DLB-GlobalInstance」 の画面のまま、

Manage → Setting を開いて「Publish」をクリックします。

nsx-dlb-p3-04.png

 

2. NSX Firewall での Balance ルール設定。


NSX Firewall で、VIP を設定するためのルールを追加します。

Partner security services の Default セクションに、下記の Blanace ルールを追加します。

  • Name: VIP-Web
  • Source: DLB-Client-SG
  • Destination: Web-SG
  • Service: HTTP
  • Action: balance + DLB-Service

 

Web Client の Network & Security →

Firewall → Configuration → Partner security services を開きます。

※画面を広く使うため、左側の画面のピンを外しておきます。

nsx-dlb-p3-05.png

 

Default Section で、「+」ボタンをクリックします。

nsx-dlb-p3-06.png

 

FW ルールの各項目の編集ボタンをクリックして、設定していきます。

 

Name

  • Rule Name: VIP-Web

nsx-dlb-p3-07.png

 

Source

  • Security Group の DLB-Client-SG を選択。

nsx-dlb-p3-08.png

 

Destination

  • Security Group の Web-SG を選択。

nsx-dlb-p3-09.png


Service

  • Object Type で、Service を選択して、HTTP を選択。

nsx-dlb-p3-10.png

 

Action には、下記を設定します。

VIP(Virtual Server IP)は、Web サーバの IP レンジから使用されていないものを適当に選定しました。

  • Action: Blanace
  • RedirectTo: DLB-Service
  • Direction: Out
  • Log: Do not log
  • Virtual Server IP: 172.16.10.9

nsx-dlb-p3-11.png


ルール追加したら、「Publish Changes」で設定反映します。

nsx-dlb-p3-12.png

 

ルールが登録されて、Rule ID が採番されました。

nsx-dlb-p3-13.png

 

これで DLB が動作するようになりました。

 

つづく。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 4(動作確認)

NSX の Distributed Load Balancing(DLB)を試してみます。

 

前回の投稿はこちらです。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 1(準備編)

 

手順について。

 

今回は、NSX で DLB を有効化します。

  1. Service Definition の作成。
  2. Service Instance へのクラスタ追加。
  3. Service Profile の作成。

 

1. Service Definition の作成。

 

Service Definition「NSX-DLB」 を作成します。

この流れで、Service Manager、Service Instance というものも作成されます。

 

Web Client の Network & Security →

Service Definitions → Services を開いて、「+」 ボタンをクリックします。

nsx-dlb-p2-01.png

 

下記を指定して「Next」をクリックします。

  • Name: NSX-DLB
  • Service Manager: Create New Service Manager ※デフォルト
  • Deployment Mechanism: Host based vNIC

nsx-dlb-p2-02.png


Service Categories では Load Balancer を選択して、「Next」 をクリックします。

nsx-dlb-p2-03.png

 

Service Manager は、名前だけ入力して「Next」 をクリックします。

  • Name: DLB-Service-Manager

nsx-dlb-p2-04.png

 

のこりは、流れに従ってデフォルトのまま「Next」 をクリックします。

下記のようになるので、「Finish」 をクリックします。

nsx-dlb-p2-05.png

 

2. Service Instance へのクラスタ追加。

 

DLB を有効化するクラスタを指定します。

作成された「NSX-DLB」 をダブルクリックして開きます。

nsx-dlb-p2-06.png

 

Service Instances → NSX-DLB-GlobalInstance → Manage → Deployment を開いて、

「+」 ボタンをクリックします。

nsx-dlb-p2-07.png

 

DLB を有効化するクラスタ 「Compute Cluster A」 を選択して「OK」 をクリックします。

※現時点では、ここで選択できるのは 1クラスタだけのようです。

nsx-dlb-p2-08.png

 

クラスタが追加されました。

nsx-dlb-p2-09.png

 

3. Service Profile の作成。

 

Service Instance で、Service Profile を作成します。

Related Objects を開いて、「+」ボタンをクリックします。

nsx-dlb-p2-10.png

 

Service Profile の名前を入力して、「OK」 をクリックします。

  • Profile Name: DLB-Service

nsx-dlb-p2-11.png

 

つづく。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 3(VIP 構成)

NSX の Distributed Load Balancing (DLB)を試してみます。

まだ Preview の機能なので商用環境(いわゆる本番環境)への適用はできませんが、

既に NSX-v 6.2 には機能が含まれていて使用することが可能です。

 

VMTN に公開されている Getting Started Guide を参考にしました。

NSX Distributed Load Balancing  - Getting Started Guide

 

今回も、VMware のハンズオンラボ 「HOL-SDC-1603 VMware NSX Introduction」 を使用しています。

 

VMware Hands-on Labs(HoL)

http://labs.hol.vmware.com/HOL/catalogs/

 

今回の構成について。


DLB により、Windows 8 の VM から Web サーバへのアクセスを分散してみます。

ちなみに、NSX の DLB では分散元となる VM の vNIC に設定したフィルタで分散しているようです。

 

今回は、下記のような構成にしています。

  • 分散元/先は、別のネットワークセグメントにしています。
  • 分散ルーティングは使用していません。

nsx-dlb-img-01.png


ESXi と VM は、下記を使用します。

  • DLB の分散元: win8-01a
  • DLB の分散先: web-01a、web-02a(2 VM)
  • DLB を有効にするクラスタ: Compute Cluster A
    • esx-01a、esx-02a が含まれる。
    • NSX はすべての ESXi で構成済み。※ラボのデフォルトの状態。

 

手順の流れ。

 

今回の手順の流れです。長くなるので、5回に分けて投稿します。

  1. HoL での準備 ★この投稿。
    1. VM の停止、移動
    2. セキュリティ グループの作成
  2. DLB 有効化 ★Part 2
    1. Service Definition の作成。
    2. Service Instance へのクラスタ追加。
    3. Service Profile の作成。
  3. VIP の構成(NSX FW のルール作成) ★Part 3
    1. Service Instance への Service Profile 適用。
    2. NSX Firewall での Balance ルール設定。
  4. DLB クライアントになる VM からアクセス確認。 ★Part 4
  5. DLB 元の ESXi の様子を見てみる。 ★Part 5

 

下記のようなイメージになると思います。今回固有の設定(名前など)は赤字にしています。

オレンジ色のセキュリティグループ(DLB-Client-SG)は同一のものです。

nsx-dlb-img-02.png

 

1-1. VM の停止、移動

 

まず、ラボの VM 配置を調整します。

DLB を1つのクラスタ内で検証したいため、Compute Cluster A に関係する VM を移動します。

  • web-03a は使用しないので、シャットダウンします。
  • web-02a と win8-01a を、vMotion で esx-02a に移動します。
  • app-01a と db-01a は、テストページの表示で必要なので起動したままにしておきます。

 

VM 配置は、下記のようになります。

 

ESXi: esx-01a

nsx-dlb-p1-01.png

 

ESXi: esx-02a

nsx-dlb-p1-02.png

 

 

1-2. セキュリティ グループの作成

 

今回の DLB 設定では、仮想サーバの VIP を設定する際にセキュリティ グループを使用します。

そこで、あらかじめ下記のセキュリティ グループ作成しておきます。

  • DLB 分散元: DLB-Client-SG
  • DLB 分散先: Web-SG

 

Web Client の Network & Security →

Service Composer → Security Groups を開いて、「New Security Group」 ボタンをクリックします。

nsx-dlb-p1-07.png

 

名前は、「DLB-Client-SG」 としておきます。

nsx-dlb-p1-08.png

 

「Select objects to include」 を開いて、Object Type で Virtual Machine を選択します。

web8-01a を選択して「Finish」 をクリックします。

nsx-dlb-p1-09.png

 

同様に、「Web-SG」というセキュリティ グループを作成します。

nsx-dlb-p1-10.png

 

このグループには、web-01a と web-02a を含めます。

nsx-dlb-p1-11.png

 

セキュリティ グループ「DLB-Client-SG」と「Web-SG」が作成されました。

nsx-dlb-p1-12.png

 

つづく。

NSX の分散ロードバランシング(DLB)を体験してみる。Part 2(DLB 有効化)