これまで、VMware Hands-on Labs(HoL)で NSX API を試すポストをしてきました。
今回は、分散ファイアウォール(DFW)を、API で設定してみようと思います。
DFW の設定については、「HOL-SDC-1603 VMware NSX Introduction」の Module 3 シナリオをもとにしました。
VMware Hands-on Labs
http://labs.hol.vmware.com/HOL/catalogs/
同じく HOL-SDC-1603 をもとにした、以前のポストもどうぞ・・・
NSX API で NW 構成変更を体験してみる。(HOL-SDC-1603 Module 1)
NSX API で NW 構成変更を体験してみる。Part 2(HOL-SDC-1603 Module 2 より)
NSX API ガイドは下記です。
NSX vSphere API Guide NSX 6.2 for vSphere
http://pubs.vmware.com/NSX-62/topic/com.vmware.ICbase/PDF/nsx_62_api.pdf
手順の流れ。
HoL のシナリオと同様の設定をしますが、グループオブジェクトの作成などは順番を工夫しています。
1 ~ 3 については、あとで FW ルールで指定するための準備です。
- Security Group の作成。 ★今回はここまで。
- Service の作成。
- オブジェクト ID の確認。
- デフォルトの FW ルールを Allow → Block に変更。
- FW ルール セクションの作成。
- セクションに FW ルールを作成。
今回も、ラボの vCenter Server Appliance「vcsa-01a」の curl コマンドで、
NSX Manager 「192.168.110.15」 に API を実行しています。
Lab の初期状態。
設定変更前の Lab の環境について Web Client で状態確認しておきます。
「Default Section Layer3」セクションにある「Default Rule」が、この環境でデフォルトになる FW ルールです。
Action が「Allow」になっています。
Image may be NSFW.
Clik here to view.
Web ブラウザで、「3-Tier Web App」のテストページが表示できます。
Image may be NSFW.
Clik here to view.
NSX 管理外の環境(ラボのコンソール)から、Web 層の VM、「web-01a」 に SSH でアクセスできます。
Image may be NSFW.
Clik here to view.
Security Group の作成。
ラボのシナリオでは、FW ルールでの送信元と送信元として、Security Group を指定しています。
そのため、FW ルール作成の準備として Security Group を作成しておきます。
「web-01a」、「web-02a」 という VM を含む、「Web-tier」という名前の Security Group を作成します。
今回は、Security Group の作成と、VM の追加を同時に実施します。
Security Group の設定を記載する XML では VM ID の指定が必要なので、
ここでは PowerCLI で確認しておきます。
PowerCLI> Connect-VIServer -Server vcsa-01a -User CORP\Administrator -Password VMware1!
PowerCLI> Get-VM web-0[12]a | sort Name | ft -AutoSize Name,Id
Security Group のメンバーにする VM のID がわかりました。
- web-01a → vm-350
- web-02a → vm-304
Image may be NSFW.
Clik here to view.
XML ファイル(sg-web-tier.txt)を下記のように作成しておきます。
cat <<EOF > sg-web-tier.txt
<securitygroup>
<objectId />
<objectTypeName>SecurityGroup</objectTypeName>
<name>Web-tier</name>
<description></description>
<scope>
<id>globalroot-0</id>
<objectTypeName>GlobalRoot</objectTypeName>
</scope>
<member>
<name>web-01a</name>
<objectId>vm-350</objectId>
<objectTypeName>VirtualMachine</objectTypeName>
</member>
<member>
<name>web-02a</name>
<objectId>vm-304</objectId>
<objectTypeName>VirtualMachine</objectTypeName>
</member>
</securitygroup>
EOF
下記のコマンドラインで、Security Group を作成します。
cat sg-web-tier.txt | curl -k -s -u admin:VMware1! -X POST -H "Content-type: text/xml" -d @- https://192.168.110.15/api/2.0/services/securitygroup/bulk/globalroot-0
実行すると、作成された Security Group の ID がわかります。
「Web-tier」は、securitygroup-10 として作成されました。
Image may be NSFW.
Clik here to view.
Web Client からも確認できます。
Security Group は、ホームの「Network & Security」 → 「NSX Managers」 → NSX Manager(192.168.110.15)→
「Manage」 →「Grouping Objects」 →「Security Group」 で確認できます。
Image may be NSFW.
Clik here to view.
つづく。
NSX API での 分散 FW 設定を体験してみる。Part 2 (HOL-SDC-1603 Module 3 より)