# --------------------------- # VPC # --------------------------- resource "aws_vpc" "vpc" { cidr_block = var.vpc_cidr_block enable_dns_hostnames = true # DNSホスト名を有効化 tags = { Name = "${var.name_prefix}${var.env}-${var.vpc_name}" } } # --------------------------- # サブネット # --------------------------- # パブリックサブネット1 resource "aws_subnet" "public_1a_subnet" { vpc_id = aws_vpc.vpc.id cidr_block = var.public_1a_cidr availability_zone = "ap-northeast-1a" map_public_ip_on_launch = true tags = { Name = "${var.name_prefix}${var.env}-${var.public_1a_name}" } } # パブリックサブネット2 resource "aws_subnet" "public_1c_subnet" { vpc_id = aws_vpc.vpc.id cidr_block = var.public_1c_cidr availability_zone = "ap-northeast-1c" map_public_ip_on_launch = true tags = { Name = "${var.name_prefix}${var.env}-${var.public_1c_name}" } } # プライベートサブネット1 resource "aws_subnet" "private_1a_subnet" { vpc_id = aws_vpc.vpc.id cidr_block = var.private_1a_cidr availability_zone = "ap-northeast-1a" tags = { Name = "${var.name_prefix}${var.env}-${var.private_1a_name}" } } # プライベートサブネット2 resource "aws_subnet" "private_1c_subnet" { vpc_id = aws_vpc.vpc.id cidr_block = var.private_1c_cidr availability_zone = "ap-northeast-1c" tags = { Name = "${var.name_prefix}${var.env}-${var.private_1c_name}" } } # --------------------------- # インターネットゲートウェイ # --------------------------- resource "aws_internet_gateway" "igw" { vpc_id = aws_vpc.vpc.id tags = { Name = "${var.name_prefix}${var.env}-${var.igw_name}" } } # --------------------------- # ルートテーブル # --------------------------- # パブリックサブネット用のルートテーブル resource "aws_route_table" "public_rtb" { vpc_id = aws_vpc.vpc.id route { cidr_block = "0.0.0.0/0" gateway_id = aws_internet_gateway.igw.id } tags = { Name = "${var.name_prefix}${var.env}-${var.public_rtb_name}" } } # ルートテーブルの関連付け(パブリックサブネット1) resource "aws_route_table_association" "public_1a_rtb_associate" { subnet_id = aws_subnet.public_1a_subnet.id route_table_id = aws_route_table.public_rtb.id } # ルートテーブルの関連付け(パブリックサブネット2) resource "aws_route_table_association" "public_1c_rtb_associate" { subnet_id = aws_subnet.public_1c_subnet.id route_table_id = aws_route_table.public_rtb.id }