Terraform の Nutanix Provider v2 で、Flow Virtual Networking(FVN)の SNAT と Floating IP アドレスを利用できる VPC ネットワークを作成してみます。
今回の内容です。
今回の構成
下記と同様の構成を、Terraform で作成します。
1. Terraform 実行環境の準備
Terraform の実行環境は、ひきつづき下記で用意した Linux マシンを利用します。
2. tf ファイルの作成
新規ディレクトリを用意して、Terraform の .tf ファイルを一式を作成します。今回もファイルを多めに分割していますが、すべてを1つのファイルに記載しても動作します。
今回のファイル構成
ディレクトリには、下記のファイルを作成します。
$ tree --charset=ascii ./ ./ |-- data_cluster_v2.tf |-- data_route-table_v2.tf |-- prism.auto.tfvars |-- provider.tf |-- route_v2.tf |-- subnet-ext_v2.tf |-- subnet-overlay_v2.tf |-- variable.tf `-- vpc_v2.tf
以前の投稿の tf ファイル
以前の投稿 で作成したファイル一式も、そのままの内容で作成します。
- provider.tf
- variable.tf
- prism.auto.tfvars
data_cluster_v2.tf
Nutanix クラスタ「lab-nxce-10」の情報を取得します。
subnet-ext_v2.tf
External Subnet として VPC に接続する VLAN サブネット「nw-vlan-21-extnat」を作成します。
vpc_v2.tf
VPC「vpc-11」を作成します。
L3~L5 で、External Subnet を指定しています。
subnet-overlay_v2.tf
Overlay サブネット「overlay-11」を作成します。
今回は、L14~L17 で IP アドレス プールも作成しています。
data_route-table_v2.tf
スタティック ルートとしてデフォルト ルートを設定する準備として、データ ソースで VPC のルーティング テーブルを取得します。
route_v2.tf
VPC のデフォルト ルート(0.0.0.0/0)の宛先として、External Subnet を指定します。
3. terraform コマンドの実行
新規フォルダで terraform コマンドを実行するので、あらためて「teraform init」を実行します。
$ terraform init
これまでと同様に、「terraform plan」→「terraform apply」でリソースを作成します。
$ terraform plan $ terraform apply -auto-approve
これで、Terraform の State も登録されます。
$ terraform state list data.nutanix_clusters_v2.cluster1 data.nutanix_route_tables_v2.table1 nutanix_routes_v2.route1 nutanix_subnet_v2.ext-subnet1 nutanix_subnet_v2.overlay1 nutanix_vpc_v2.vpc1
Prism Central でも、リソースが作成されたことがわかります。
おまけ:リソースの削除
terraform apply で作成したリソースは、terraform destroy で削除できます。
$ terraform destroy -auto-approve
つづく。