Terraform で AWS の VPC / Subnet を作成する

AWS 用の Terraform Provider を使って VPC と Subnet を作成するサンプルをメモしておきます。 現時点の AWS Provider は 3.53.0 でした。

以下のような .tf ファイルを用意します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
provider "aws" {
  access_key = "ACCESS-KEY"
  secret_key = "SECRET-KEY"
  region     = "ap-northeast-1"
}

resource "aws_vpc" "vpc1" {
  cidr_block = "192.168.0.0/16"
  tags       = { Name = "VPC1" }
}

resource "aws_subnet" "subnet1" {
  availability_zone = "ap-northeast-1a"
  cidr_block        = "192.168.1.0/24"
  tags              = { Name = "Subnet1" }
  vpc_id            = aws_vpc.vpc1.id
}

resource "aws_subnet" "subnet2" {
  availability_zone = "ap-northeast-1c"
  cidr_block        = "192.168.2.0/24"
  tags              = { Name = "Subnet2" }
  vpc_id            = aws_vpc.vpc1.id
}

resource "aws_subnet" "subnet3" {
  availability_zone = "ap-northeast-1d"
  cidr_block        = "192.168.3.0/24"
  tags              = { Name = "Subnet3" }
  vpc_id            = aws_vpc.vpc1.id
}

Terraform を初期化します。

1
terraform init

先に定義した .tf ファイルの内容に問題が無いか、テストします。

1
terraform plan

エラーが出ないようであれば実行します。 これで VPC と Subnet が作成されます。

1
terraform apply -auto-approve

不必要になれば削除します。

1
terraform destroy -auto-approve