93 lines
2.6 KiB
Terraform
93 lines
2.6 KiB
Terraform
|
# ---------------------------
|
|||
|
# 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
|
|||
|
}
|