らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

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

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

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

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 を初期化します。

terraform init

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

terraform plan

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

terraform apply -auto-approve

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

terraform destroy -auto-approve