From 9d3c2936ea969fe191ae6ad92f4b370c41380000 Mon Sep 17 00:00:00 2001 From: Edward Viaene Date: Wed, 12 Oct 2016 12:26:00 +0000 Subject: [PATCH] demo-7 --- demo-7/nat.tf | 35 +++++++++++++++ demo-7/provider.tf | 3 ++ demo-7/vars.tf | 9 ++++ demo-7/vpc.tf | 110 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 demo-7/nat.tf create mode 100644 demo-7/provider.tf create mode 100644 demo-7/vars.tf create mode 100644 demo-7/vpc.tf diff --git a/demo-7/nat.tf b/demo-7/nat.tf new file mode 100644 index 0000000..69f1141 --- /dev/null +++ b/demo-7/nat.tf @@ -0,0 +1,35 @@ +# nat gw +resource "aws_eip" "nat" { + vpc = true +} +resource "aws_nat_gateway" "nat-gw" { + allocation_id = "${aws_eip.nat.id}" + subnet_id = "${aws_subnet.main-public-1.id}" + depends_on = ["aws_internet_gateway.main-gw"] +} + +# VPC setup for NAT +resource "aws_route_table" "main-private" { + vpc_id = "${aws_vpc.main.id}" + route { + cidr_block = "0.0.0.0/0" + nat_gateway_id = "${aws_nat_gateway.nat-gw.id}" + } + + tags { + Name = "main-private-1" + } +} +# route associations private +resource "aws_route_table_association" "main-private-1-a" { + subnet_id = "${aws_subnet.main-private-1.id}" + route_table_id = "${aws_route_table.main-private.id}" +} +resource "aws_route_table_association" "main-private-2-a" { + subnet_id = "${aws_subnet.main-private-2.id}" + route_table_id = "${aws_route_table.main-private.id}" +} +resource "aws_route_table_association" "main-private-3-a" { + subnet_id = "${aws_subnet.main-private-3.id}" + route_table_id = "${aws_route_table.main-private.id}" +} diff --git a/demo-7/provider.tf b/demo-7/provider.tf new file mode 100644 index 0000000..ded6d8c --- /dev/null +++ b/demo-7/provider.tf @@ -0,0 +1,3 @@ +provider "aws" { + region = "${var.AWS_REGION}" +} diff --git a/demo-7/vars.tf b/demo-7/vars.tf new file mode 100644 index 0000000..ce2e56b --- /dev/null +++ b/demo-7/vars.tf @@ -0,0 +1,9 @@ +variable "AWS_REGION" { + default = "eu-west-1" +} +variable "PATH_TO_PRIVATE_KEY" { + default = "mykey" +} +variable "PATH_TO_PUBLIC_KEY" { + default = "mykey.pub" +} diff --git a/demo-7/vpc.tf b/demo-7/vpc.tf new file mode 100644 index 0000000..1325feb --- /dev/null +++ b/demo-7/vpc.tf @@ -0,0 +1,110 @@ +# Internet VPC +resource "aws_vpc" "main" { + cidr_block = "10.0.0.0/16" + instance_tenancy = "default" + enable_dns_support = "true" + enable_dns_hostnames = "true" + enable_classiclink = "false" + tags { + Name = "main" + } +} + + +# Subnets +resource "aws_subnet" "main-public-1" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.1.0/24" + map_public_ip_on_launch = "true" + availability_zone = "eu-west-1a" + + tags { + Name = "main-public-1" + } +} +resource "aws_subnet" "main-public-2" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.2.0/24" + map_public_ip_on_launch = "true" + availability_zone = "eu-west-1b" + + tags { + Name = "main-public-2" + } +} +resource "aws_subnet" "main-public-3" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.3.0/24" + map_public_ip_on_launch = "true" + availability_zone = "eu-west-1c" + + tags { + Name = "main-public-3" + } +} +resource "aws_subnet" "main-private-1" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.4.0/24" + map_public_ip_on_launch = "false" + availability_zone = "eu-west-1a" + + tags { + Name = "main-private-1" + } +} +resource "aws_subnet" "main-private-2" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.5.0/24" + map_public_ip_on_launch = "false" + availability_zone = "eu-west-1b" + + tags { + Name = "main-private-2" + } +} +resource "aws_subnet" "main-private-3" { + vpc_id = "${aws_vpc.main.id}" + cidr_block = "10.0.6.0/24" + map_public_ip_on_launch = "false" + availability_zone = "eu-west-1c" + + tags { + Name = "main-private-3" + } +} + +# Internet GW +resource "aws_internet_gateway" "main-gw" { + vpc_id = "${aws_vpc.main.id}" + + tags { + Name = "main" + } +} + +# route tables +resource "aws_route_table" "main-public" { + vpc_id = "${aws_vpc.main.id}" + route { + cidr_block = "0.0.0.0/0" + gateway_id = "${aws_internet_gateway.main-gw.id}" + } + + tags { + Name = "main-public-1" + } +} + +# route associations public +resource "aws_route_table_association" "main-public-1-a" { + subnet_id = "${aws_subnet.main-public-1.id}" + route_table_id = "${aws_route_table.main-public.id}" +} +resource "aws_route_table_association" "main-public-2-a" { + subnet_id = "${aws_subnet.main-public-2.id}" + route_table_id = "${aws_route_table.main-public.id}" +} +resource "aws_route_table_association" "main-public-3-a" { + subnet_id = "${aws_subnet.main-public-3.id}" + route_table_id = "${aws_route_table.main-public.id}" +}