NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Terraform で FVN の NAT VPC を構成してみる。Part-01:NAT VPC 環境の作成

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」の情報を取得します。

gist.github.com

 

subnet-ext_v2.tf

External Subnet として VPC に接続する VLAN サブネット「nw-vlan-21-extnat」を作成します。

gist.github.com

 

vpc_v2.tf

VPC「vpc-11」を作成します。

L3~L5 で、External Subnet を指定しています。

gist.github.com

 

subnet-overlay_v2.tf

Overlay サブネット「overlay-11」を作成します。

今回は、L14~L17 で IP アドレス プールも作成しています。

gist.github.com

 

data_route-table_v2.tf

スタティック ルートとしてデフォルト ルートを設定する準備として、データ ソースで VPC のルーティング テーブルを取得します。

gist.github.com

 

route_v2.tf

VPC のデフォルト ルート(0.0.0.0/0)の宛先として、External Subnet を指定します。

gist.github.com

 

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

つづく。

 

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。