Search

VPC

resource "aws_vpc" "egress" { cidr_block = "10.0.2.0/24" enable_dns_hostnames = true enable_dns_support = true tags = { Name = "gwangju-EgressVPC" } } resource"aws_internet_gateway" "egress" { vpc_id = aws_vpc.egress.id tags = { Name = "gwangju-egress-igw" } } resource "aws_route_table" "egress-public" { vpc_id = aws_vpc.egress.id tags = { Name = "gwangju-egress-public-rt" } depends_on = [ aws_ec2_transit_gateway.gwangju ] } resource "aws_route" "egress-public" { route_table_id = aws_route_table.egress-public.id destination_cidr_block = "0.0.0.0/0" gateway_id = aws_internet_gateway.egress.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_route" "egress-vpc1-pub-tgw" { route_table_id = aws_route_table.egress-public.id destination_cidr_block = "10.0.0.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_route" "egress-vpc2-pub-vpc2-tgw" { route_table_id = aws_route_table.egress-public.id destination_cidr_block = "10.0.1.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_subnet" "egress-public_a" { vpc_id = aws_vpc.egress.id cidr_block = "10.0.2.0/25" availability_zone = "ap-northeast-2a" map_public_ip_on_launch = true tags = { Name = "gwangju-egress-public-a" } } resource "aws_route_table_association" "egress-public_a" { subnet_id = aws_subnet.egress-public_a.id route_table_id = aws_route_table.egress-public.id } resource "aws_eip" "egress-private_a" { } resource "aws_eip" "egress-private_b" { } resource "aws_nat_gateway" "egress-private_a" { depends_on = [aws_internet_gateway.egress] allocation_id = aws_eip.egress-private_a.id subnet_id = aws_subnet.egress-public_a.id tags = { Name = "gwangju-egress-ngw-a" } } resource "aws_nat_gateway" "egress-private_b" { depends_on = [aws_internet_gateway.egress] allocation_id = aws_eip.egress-private_b.id subnet_id = aws_subnet.egress-public_a.id tags = { Name = "gwangju-egress-ngw-b" } } ## Route Table resource "aws_route_table" "egress-private_a" { vpc_id = aws_vpc.egress.id tags = { Name = "gwangju-egress-private-a-rt" } depends_on = [ aws_ec2_transit_gateway.gwangju ] } resource "aws_route" "egress-private_a" { route_table_id = aws_route_table.egress-private_a.id destination_cidr_block = "0.0.0.0/0" nat_gateway_id = aws_nat_gateway.egress-private_a.id } resource "aws_route" "egress-vpc1-pri-a-tgw" { route_table_id = aws_route_table.egress-private_a.id destination_cidr_block = "10.0.0.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_route" "egress-vpc2-pri-a-tgw" { route_table_id = aws_route_table.egress-private_a.id destination_cidr_block = "10.0.1.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_route_table" "egress-private_b" { vpc_id = aws_vpc.egress.id tags = { Name = "gwangju-egress-private-b-rt" } depends_on = [ aws_ec2_transit_gateway.gwangju ] } resource "aws_route" "egress-private_b" { route_table_id = aws_route_table.egress-private_b.id destination_cidr_block = "0.0.0.0/0" nat_gateway_id = aws_nat_gateway.egress-private_b.id } resource "aws_route" "egress-vpc1-pri-b-tgw" { route_table_id = aws_route_table.egress-private_b.id destination_cidr_block = "10.0.0.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_route" "egress-vpc2-pri-b-tgw" { route_table_id = aws_route_table.egress-private_b.id destination_cidr_block = "10.0.1.0/24" gateway_id = aws_ec2_transit_gateway.gwangju.id depends_on = [ aws_ec2_transit_gateway.gwangju,aws_ec2_transit_gateway_route_table_association.egress ] } resource "aws_subnet" "egress-private_a" { vpc_id = aws_vpc.egress.id cidr_block = "10.0.2.128/26" availability_zone = "ap-northeast-2a" tags = { Name = "gwangju-egress-private-a" } } resource "aws_subnet" "egress-private_b" { vpc_id = aws_vpc.egress.id cidr_block = "10.0.2.192/26" availability_zone = "ap-northeast-2b" tags = { Name = "gwangju-egress-private-b" } } resource "aws_route_table_association" "egress-private_a" { subnet_id = aws_subnet.egress-private_a.id route_table_id = aws_route_table.egress-private_a.id } resource "aws_route_table_association" "egress-private_b" { subnet_id = aws_subnet.egress-private_b.id route_table_id = aws_route_table.egress-private_b.id }
JSON
복사