vm.gowatana.jp

NEOにほんごVMware(仮)

VMware Cloud Director 10.4 を Terraform で操作してみる。Part-04 VM 作成と DNAT ルール設定

VMware Cloud Director 10.4(VCD)を Terraform で操作してみます。

今回は、vApp と仮想マシンを作成して、それと同時に、仮想マシンに外部ネットワークから接続するための DNAT ルールを作成してみます。

ネットワーキングには NSX-T を利用しているので、NAT ルールは VCD Provider の vcd_nsxt_nat_rule リソースで作成します。

 

前回はこちら。

 

今回の内容です。

 

1. 今回の環境

VCD 環境と、展開する vApp の構成は、前回の投稿と同様です。

 

VCD 環境では、一連のラボ環境構築のときに、組織 VDC ネットワークと SNAT ルールを作成してあります。

 

組織 VCD の Edge に SNAT ルールを設定してあり、これで、組織 VDC ネットワークから外部への通信(内 → 外 方向)が可能になっています。

そこで今回は、新規作成する仮想マシンに外部ネットワークから接続する DNAT ルール(外 → 内 方向)のみ作成します。

 

仮想マシンの vNIC の接続先となる、経路指定(ルーティング可能な)組織 VDC ネットワークは作成済みです。DNAT での変換先の IP アドレスは、このネットワーク セグメントのアドレスを指定します。

 

2. Terraform の Configuration ファイルの作成

今回は、前回と同様の構成で仮想マシンを作成して、そこに DNAT ルールを追加します。あらためて、Configuration をひととおり掲載しておきます。

 

variables.tf ファイル

gist.github.com

 

terraform.tfvars ファイル

gist.github.com

 

cred.auto.tfvars ファイル

gist.github.com

 

provider.tf ファイル

gist.github.com

 

network.tf ファイル

gist.github.com

 

vapp_vm_customize.tf ファイル

今回は、vApp の名前を「tf-vapp-04」にしてあります。

gist.github.com

 

dnat.tf ファイル

DNAT ルールの .tf ファイルは、今回新規作成したものです。組織 VDC エッジ(org-01-edge-01)は事前に作成してあります。

  • DNAT ルールの名前: tf-dnat-104 
  • 組織 VDC エッジ: org-01-edge-01
  • 変換元 IP アドレス: 192.168.31.104
  • 変換先 IP アドレス: Terraform が作成した仮想マシンから取得
  • firewall_match: BYPASS(今回はデモをわかりやすくするため、ファイアウォールはバイパス)

gist.github.com

 

3. Terraform の実行

terraform apply コマンドを実行すると、vApp の作成、vApp への組織 VDC ネットワークの追加、仮想マシンと DNAT ルールの作成が実施されます。

$ terraform apply plan
$ terraform apply -auto-approve

 

4. 作成された仮想マシンと DNAT ルールの様子

Terraform で作成された vApp「tf-vapp-04」には、仮想マシン「vm01」が作成されて、ルーティングされた組織 VDC ネットワークに接続されています。

スクリーンショットには表示されていませんが、この仮想マシンには、組織 VDC ネットワークの IP プールから「10.0.1.103」が設定されています。

 

そして、エッジの NAT ルールを確認すると、Terraform によて DNAT ルール「tf-dnat-104」が作成されています。

 

外部ネットワークの作業用マシンから DNAT アドレス「192.168.31.104」宛に SSH 接続でき、ログインすると vm01 には「10.0.1.103」が設定されています。

 

以上、VCD を Terraform で操作してみる話でした。

続きはこちら。