|
@@ -1,75 +1,77 @@
|
|
-resource "aws_vpc" "main" {
|
|
|
|
|
|
+data "aws_availability_zones" "az" {}
|
|
|
|
+
|
|
|
|
+resource "aws_vpc" "vpc" {
|
|
cidr_block = "${var.cidr}"
|
|
cidr_block = "${var.cidr}"
|
|
enable_dns_hostnames = "${var.enable_dns_hostnames}"
|
|
enable_dns_hostnames = "${var.enable_dns_hostnames}"
|
|
enable_dns_support = "${var.enable_dns_support}"
|
|
enable_dns_support = "${var.enable_dns_support}"
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}"
|
|
|
|
|
|
+ Name = "${var.cloud_name}"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_internet_gateway" "main" {
|
|
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
|
|
+resource "aws_internet_gateway" "igw" {
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}-igw"
|
|
|
|
|
|
+ Name = "${var.cloud_name}-igw"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route_table" "public" {
|
|
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
|
|
+resource "aws_route_table" "rtb_public" {
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
propagating_vgws = ["${var.public_propagating_vgws}"]
|
|
propagating_vgws = ["${var.public_propagating_vgws}"]
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}-rt-public"
|
|
|
|
|
|
+ Name = "${var.cloud_name}-rt-public"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route" "public_internet_gateway" {
|
|
|
|
- route_table_id = "${aws_route_table.public.id}"
|
|
|
|
|
|
+resource "aws_route" "rt_public_igw" {
|
|
|
|
+ route_table_id = "${aws_route_table.rtb_public.id}"
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
- gateway_id = "${aws_internet_gateway.main.id}"
|
|
|
|
|
|
+ gateway_id = "${aws_internet_gateway.igw.id}"
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route" "private_nat_gateway" {
|
|
|
|
- route_table_id = "${aws_route_table.private.id}"
|
|
|
|
|
|
+resource "aws_route" "rt_private_natgw" {
|
|
|
|
+ route_table_id = "${aws_route_table.rtb_private.id}"
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
destination_cidr_block = "0.0.0.0/0"
|
|
nat_gateway_id = "${aws_nat_gateway.natgw.id}"
|
|
nat_gateway_id = "${aws_nat_gateway.natgw.id}"
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route_table" "private" {
|
|
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
|
|
+resource "aws_route_table" "rtb_private" {
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
propagating_vgws = ["${var.private_propagating_vgws}"]
|
|
propagating_vgws = ["${var.private_propagating_vgws}"]
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}-rt-private-${data.aws_availability_zones.available.names[1]}"
|
|
|
|
|
|
+ Name = "${var.cloud_name}-rt-private-${data.aws_availability_zones.az.names[1]}"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_subnet" "public" {
|
|
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
- cidr_block = "${var.public_subnet}"
|
|
|
|
- availability_zone = "${data.aws_availability_zones.available.names[0]}"
|
|
|
|
|
|
+resource "aws_subnet" "sn_public" {
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
|
|
+ cidr_block = "${var.sn_public_cidr}"
|
|
|
|
+ availability_zone = "${data.aws_availability_zones.az.names[0]}"
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}-subnet-public-${data.aws_availability_zones.available.names[0]}"
|
|
|
|
|
|
+ Name = "${var.cloud_name}-subnet-public-${data.aws_availability_zones.az.names[0]}"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
|
|
|
|
map_public_ip_on_launch = "${var.map_public_ip_on_launch}"
|
|
map_public_ip_on_launch = "${var.map_public_ip_on_launch}"
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_subnet" "private" {
|
|
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
- cidr_block = "${var.private_subnet}"
|
|
|
|
- availability_zone = "${data.aws_availability_zones.available.names[1]}"
|
|
|
|
|
|
+resource "aws_subnet" "sn_private" {
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
|
|
+ cidr_block = "${var.sn_private_cidr}"
|
|
|
|
+ availability_zone = "${data.aws_availability_zones.az.names[1]}"
|
|
|
|
|
|
tags {
|
|
tags {
|
|
- Name = "${var.name}-rt-private-${data.aws_availability_zones.available.names[1]}"
|
|
|
|
|
|
+ Name = "${var.cloud_name}-rt-private-${data.aws_availability_zones.az.names[1]}"
|
|
managed_by = "terraform"
|
|
managed_by = "terraform"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -81,24 +83,24 @@ resource "aws_eip" "nateip" {
|
|
|
|
|
|
resource "aws_nat_gateway" "natgw" {
|
|
resource "aws_nat_gateway" "natgw" {
|
|
allocation_id = "${aws_eip.nateip.id}"
|
|
allocation_id = "${aws_eip.nateip.id}"
|
|
- subnet_id = "${aws_subnet.public.id}"
|
|
|
|
|
|
+ subnet_id = "${aws_subnet.sn_public.id}"
|
|
|
|
|
|
- depends_on = ["aws_internet_gateway.main"]
|
|
|
|
|
|
+ depends_on = ["aws_internet_gateway.igw"]
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route_table_association" "public" {
|
|
|
|
- subnet_id = "${aws_subnet.public.id}"
|
|
|
|
- route_table_id = "${aws_route_table.public.id}"
|
|
|
|
|
|
+resource "aws_route_table_association" "rta_public" {
|
|
|
|
+ subnet_id = "${aws_subnet.sn_public.id}"
|
|
|
|
+ route_table_id = "${aws_route_table.rtb_public.id}"
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_route_table_association" "private" {
|
|
|
|
- subnet_id = "${aws_subnet.private.id}"
|
|
|
|
- route_table_id = "${aws_route_table.private.id}"
|
|
|
|
|
|
+resource "aws_route_table_association" "rta_private" {
|
|
|
|
+ subnet_id = "${aws_subnet.sn_private.id}"
|
|
|
|
+ route_table_id = "${aws_route_table.rtb_private.id}"
|
|
}
|
|
}
|
|
|
|
|
|
-resource "aws_security_group" "inbound" {
|
|
|
|
|
|
+resource "aws_security_group" "sg_vpc_in_std" {
|
|
name = "allow-ssh-wnb"
|
|
name = "allow-ssh-wnb"
|
|
- vpc_id = "${aws_vpc.main.id}"
|
|
|
|
|
|
+ vpc_id = "${aws_vpc.vpc.id}"
|
|
description = "Allows external incoming ssh and web traffic"
|
|
description = "Allows external incoming ssh and web traffic"
|
|
|
|
|
|
ingress {
|
|
ingress {
|