vm.gowatana.jp

NEOにほんごVMware(仮)

NSX 4.1 に Terraform でオーバーレイ セグメントを追加してみる。

NSX 4.1 に Terraform でオーバーレイ セグメントを追加してみます。
Terraform での NSX 操作には、vmware/nsxt Providier を利用します。

 

今回の内容です。

 

今回の環境

下記のように構築した NSX ラボを利用します。


上記の一連の手順のうち、NSX オーバーレイ セグメントの作成の部分のみを、Terraform に置き換えてみます。

 

オーバーレイ セグメントは、すでに 2つ作成してあります。これらと同様の設定のセグメントを追加します。

 

NSX Manager で確認すると、この時点ではオーバーレイ セグメントが 2つだけ作成されています。

 

オーバーレイ セグメントでは、下記のように DHCP 構成を設定ずみです。

 

今回の Terraform 実行環境は、VMware Photon OS 5.0(Linux)です。

Photon OS は、あらかじめ OVA ファイルを展開して、ネットワーク設定を済ませておきます。

root@lab-terraform-21 [ ~ ]# cat /etc/photon-release
VMware Photon OS 5.0
PHOTON_BUILD_NUMBER=dde71ec57

 

Terraform 実行環境の用意

Terraform のインストールで .zip ファイルを展開するので、unzip をインストールしておきます。

# tdnf install unzip -y

 

Terraform の .zip ファイルをダウンロードします。

$ curl -OL https://releases.hashicorp.com/terraform/1.6.2/terraform_1.6.2_linux_amd64.zip

 

.zip ファイルから、terraform ファイルを展開します。今回は、ホームディレクトリに bin ディレクトリ($HOME/bin)を作成して、そこに展開します。

$ mkdir $HOME/bin
$ unzip terraform_1.6.2_linux_amd64.zip terraform -d $HOME/bin

 

$HOME/bin を、PATH 環境変数に追加しておきます。

$ export PATH=$HOME/bin:$PATH
$ echo 'export PATH=$HOME/bin:$PATH' >> .bash_profile

 

terraform コマンドが実行できるようになったことを確認しておきます。

$ terraform version
Terraform v1.6.2
on linux_amd64

 

.tf ファイルの作成

下記のような .tf ファイルを作成しておきます。

provider.tf

  • NSX を操作する Provider を記載してあります。

gist.github.com

 

login.tf

  • おもに、NSX Manager のアドレスと ユーザ / パスワードを記載します。
  • パスワードを記載しているので、取扱いに注意が必要です。

gist.github.com

 

overlay-segment.tf

gist.github.com

 

terraform の実行

terraform plan コマンドで、.tf ファイルの内容をもとに事前確認しておきます。

$ terraform plan

 

実際に実行すると、下記のようになります。

 

terraform apply で、NSX に設定を反映します。今回は実行確認をスキップするため「-auto-approve」を付与しています。

$ terraform apply -auto-approve

 

実行すると、下記のようにセグメントが作成されます。

 

これで、seg-overlay-03 セグメントが作成されました。

 

DHCP 構成も、.tf ファイルのとおりに設定されています。

 

作成したセグメントを削除するには、terraform destroy を実行します。

$ terraform destroy -auto-approve

 

以上、Terraform で NSX オーバーレイ セグメントを作成してみる話でした。

つづきはこちら。