From 47f819f6d290e744dbf5fab46dabaca9b742a799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20de=20Borne?= Date: Sat, 29 Dec 2018 02:27:23 +0000 Subject: [PATCH] initial commit --- COPYING | 13 + LICENSE | 5 + README.md | 49 +++ Variables.tf | 27 ++ deploy.tf | 668 ++++++++++++++++++++++++++++++++++++++++ doc/transit-gateway.png | Bin 0 -> 94780 bytes provider.tf | 5 + 7 files changed, 767 insertions(+) create mode 100644 COPYING create mode 100644 LICENSE create mode 100644 README.md create mode 100644 Variables.tf create mode 100644 deploy.tf create mode 100644 doc/transit-gateway.png create mode 100644 provider.tf diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..5c93f45 --- /dev/null +++ b/COPYING @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9665516 --- /dev/null +++ b/LICENSE @@ -0,0 +1,5 @@ +Copyright © 2018 Michaël Van de Borne + +This work is free. You can redistribute it and/or modify it under the +terms of the Do What The Fuck You Want To Public License, Version 2, +as published by Sam Hocevar. See the COPYING file for more details. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4751b5d --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +AWS Transit Gateway scenario with Terraform +=========================================== + +This project gives an example of the usage of the recently (november 2018) announced [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) product. That component provides a way to interconnect multiple VPCs in a hub-spoke topology. + +The Transit Gateway is meant to superseed the more complex and expensive Transit VPC technology. This is a didactic example to showcase how a Transit VPC should be configured to achieve a non-trivial (full mesh) scenario. I hope it can be helpful. + +Architecture +------------ + +A Transit Gateway relies on Route Tables. By default, a new Route Table is created in the Transit Gateway, which populates with the routing info toward every VPC attached to the gateway (the full mesh scenario) +The Terraform code in this project demonstrates a more complex scenario in which traffic is isolated based on the environment. Four VPCs are created, with two subnets each (in separate AZs): +* VPC-1: in the 'dev' environment +* VPC-2: in the 'dev' environment +* VPC-3: in the 'shared' environment +* VPC-4: in the 'prod' environment + +Let's assume the 'shared' environment will host shared components, such as proxy services, tools, ... Here are the rules we want our Transit Gateway to implement: +* The shared VPC can access dev and prod VPCs. +* The dev VPCs can access each other, and the shared VPC +* The prod VPCs can only access the shared VPC + +To enable such a scenario, three Route Tables are created in the Transit Gateway, one per environment. Which means both dev VPCs attach to the same Route Table, whereas the shared and prod VPCs each attach to their respective Route Table. Each VPC gets a t2.micro Ubuntu instance to validate the network connectivity over ssh and ICMP (ping) + + + +Usage +----- + + +# Change ACCESS_KEY and SECRET_KEY values in Variables.tf +# Change the public_key value to a keypair you own +# Deploy the setup with: +```sh +$ terraform init +$ terraform plan +$ terraform apply +``` +# The public IP of the instance in the 'shared' VPC is printed when deployment ends +# ssh on this instance +```sh +$ ssh -i your_private_key ubuntu@$PUBLIC_IP +``` +# Check you can ping and ssh any other instance in the other VPCs +# Also check that, from a dev instance (1 & 2) you cannot reach the prod instance (4) and vice-versa. +# Delete all resources +```sh +$ terraform destroy +``` diff --git a/Variables.tf b/Variables.tf new file mode 100644 index 0000000..fd5c3fb --- /dev/null +++ b/Variables.tf @@ -0,0 +1,27 @@ +variable "access_key" { + default = "XXXXXXXXXXXXXXXX" +} + +variable "secret_key" { + default = "YYYYYYYYYYYYYYYYY" +} + +variable "region" { + default = "eu-central-1" +} + +variable "az1" { + default = "eu-central-1a" +} + +variable "az2" { + default = "eu-central-1b" +} + +variable "scenario" { + default = "test-tgw" +} + +variable "public_key" { + default = "ssh-rsa AAAAB3NzaC1y...qd4hssndQ== rsa-key-20180518" +} diff --git a/deploy.tf b/deploy.tf new file mode 100644 index 0000000..09ce4a4 --- /dev/null +++ b/deploy.tf @@ -0,0 +1,668 @@ +############### +# VPC Section # +############### + +# VPCs + +resource "aws_vpc" "vpc-1" { + cidr_block = "10.10.0.0/16" + tags = { + Name = "${var.scenario}-vpc1-dev" + scenario = "${var.scenario}" + env = "dev" + } +} + +resource "aws_vpc" "vpc-2" { + cidr_block = "10.11.0.0/16" + tags = { + Name = "${var.scenario}-vpc2-dev" + scenario = "${var.scenario}" + env = "dev" + } +} + +resource "aws_vpc" "vpc-3" { + cidr_block = "10.12.0.0/16" + tags = { + Name = "${var.scenario}-vpc3-shared" + scenario = "${var.scenario}" + env = "shared" + } +} + +resource "aws_vpc" "vpc-4" { + cidr_block = "10.13.0.0/16" + tags = { + Name = "${var.scenario}-vpc4-prod" + scenario = "${var.scenario}" + env = "prod" + } +} + +# Subnets + +resource "aws_subnet" "vpc-1-sub-a" { + vpc_id = "${aws_vpc.vpc-1.id}" + cidr_block = "10.10.1.0/24" + availability_zone = "${var.az1}" + + tags = { + Name = "${aws_vpc.vpc-1.tags.Name}-sub-a" + } +} + +resource "aws_subnet" "vpc-1-sub-b" { + vpc_id = "${aws_vpc.vpc-1.id}" + cidr_block = "10.10.2.0/24" + availability_zone = "${var.az2}" + + tags = { + Name = "${aws_vpc.vpc-1.tags.Name}-sub-b" + } +} + +resource "aws_subnet" "vpc-2-sub-a" { + vpc_id = "${aws_vpc.vpc-2.id}" + cidr_block = "10.11.1.0/24" + availability_zone = "${var.az1}" + + tags = { + Name = "${aws_vpc.vpc-2.tags.Name}-sub-a" + } +} + +resource "aws_subnet" "vpc-2-sub-b" { + vpc_id = "${aws_vpc.vpc-2.id}" + cidr_block = "10.11.2.0/24" + availability_zone = "${var.az2}" + + tags = { + Name = "${aws_vpc.vpc-2.tags.Name}-sub-b" + } +} + +resource "aws_subnet" "vpc-3-sub-a" { + vpc_id = "${aws_vpc.vpc-3.id}" + cidr_block = "10.12.1.0/24" + availability_zone = "${var.az1}" + + tags = { + Name = "${aws_vpc.vpc-3.tags.Name}-sub-a" + } +} + +resource "aws_subnet" "vpc-3-sub-b" { + vpc_id = "${aws_vpc.vpc-3.id}" + cidr_block = "10.12.2.0/24" + availability_zone = "${var.az2}" + + tags = { + Name = "${aws_vpc.vpc-3.tags.Name}-sub-b" + } +} + +resource "aws_subnet" "vpc-4-sub-a" { + vpc_id = "${aws_vpc.vpc-4.id}" + cidr_block = "10.13.1.0/24" + availability_zone = "${var.az1}" + + tags = { + Name = "${aws_vpc.vpc-4.tags.Name}-sub-a" + } +} + +resource "aws_subnet" "vpc-4-sub-b" { + vpc_id = "${aws_vpc.vpc-4.id}" + cidr_block = "10.13.2.0/24" + availability_zone = "${var.az2}" + + tags = { + Name = "${aws_vpc.vpc-4.tags.Name}-sub-b" + } +} + +# Internet Gateway + +resource "aws_internet_gateway" "vpc-3-igw" { + vpc_id = "${aws_vpc.vpc-3.id}" + + tags = { + Name = "vpc-3-igw" + scenario = "${var.scenario}" + } +} + +# Main Route Tables Associations +## Forcing our Route Tables to be the main ones for our VPCs, +## otherwise AWS automatically will create a main Route Table +## for each VPC, leaving our own Route Tables as secondary + +resource "aws_main_route_table_association" "main-rt-vpc-1" { + vpc_id = "${aws_vpc.vpc-1.id}" + route_table_id = "${aws_route_table.vpc-1-rtb.id}" +} + +resource "aws_main_route_table_association" "main-rt-vpc-2" { + vpc_id = "${aws_vpc.vpc-2.id}" + route_table_id = "${aws_route_table.vpc-2-rtb.id}" +} + +resource "aws_main_route_table_association" "main-rt-vpc-3" { + vpc_id = "${aws_vpc.vpc-3.id}" + route_table_id = "${aws_route_table.vpc-3-rtb.id}" +} + +resource "aws_main_route_table_association" "main-rt-vpc-4" { + vpc_id = "${aws_vpc.vpc-4.id}" + route_table_id = "${aws_route_table.vpc-4-rtb.id}" +} + + +# Route Tables +## Usually unecessary to explicitly create a Route Table in Terraform +## since AWS automatically creates and assigns a 'Main Route Table' +## whenever a VPC is created. However, in a Transit Gateway scenario, +## Route Tables are explicitly created so an extra route to the +## Transit Gateway could be defined + +resource "aws_route_table" "vpc-1-rtb" { + vpc_id = "${aws_vpc.vpc-1.id}" + + route { + cidr_block = "10.0.0.0/8" + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + } + + tags = { + Name = "vpc-1-rtb" + env = "dev" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_route_table" "vpc-2-rtb" { + vpc_id = "${aws_vpc.vpc-2.id}" + + route { + cidr_block = "10.0.0.0/8" + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + } + + tags = { + Name = "vpc-2-rtb" + env = "dev" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_route_table" "vpc-3-rtb" { + vpc_id = "${aws_vpc.vpc-3.id}" + + route { + cidr_block = "10.0.0.0/8" + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + } + + route { + cidr_block = "0.0.0.0/0" + gateway_id = "${aws_internet_gateway.vpc-3-igw.id}" + } + + tags = { + Name = "vpc-3-rtb" + env = "shared" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_route_table" "vpc-4-rtb" { + vpc_id = "${aws_vpc.vpc-4.id}" + + route { + cidr_block = "10.0.0.0/8" + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + } + + tags = { + Name = "vpc-4-rtb" + env = "prod" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + + +########################### +# Transit Gateway Section # +########################### + +# Transit Gateway +## Default association and propagation are disabled since our scenario involves +## a more elaborated setup where +## - Dev VPCs can reach themselves and the Shared VPC +## - the Shared VPC can reach all VPCs +## - the Prod VPC can only reach the Shared VPC +## The default setup being a full mesh scenario where all VPCs can see every other +resource "aws_ec2_transit_gateway" "test-tgw" { + description = "Transit Gateway testing scenario with 4 VPCs, 2 subnets each" + default_route_table_association = "disable" + default_route_table_propagation = "disable" + tags = { + Name = "${var.scenario}" + scenario = "${var.scenario}" + } +} + +# VPC attachment + +resource "aws_ec2_transit_gateway_vpc_attachment" "tgw-att-vpc-1" { + subnet_ids = ["${aws_subnet.vpc-1-sub-a.id}", "${aws_subnet.vpc-1-sub-b.id}"] + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + vpc_id = "${aws_vpc.vpc-1.id}" + transit_gateway_default_route_table_association = false + transit_gateway_default_route_table_propagation = false + tags = { + Name = "tgw-att-vpc1" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_ec2_transit_gateway_vpc_attachment" "tgw-att-vpc-2" { + subnet_ids = ["${aws_subnet.vpc-2-sub-a.id}", "${aws_subnet.vpc-2-sub-b.id}"] + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + vpc_id = "${aws_vpc.vpc-2.id}" + transit_gateway_default_route_table_association = false + transit_gateway_default_route_table_propagation = false + tags = { + Name = "tgw-att-vpc2" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_ec2_transit_gateway_vpc_attachment" "tgw-att-vpc-3" { + subnet_ids = ["${aws_subnet.vpc-3-sub-a.id}", "${aws_subnet.vpc-3-sub-b.id}"] + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + vpc_id = "${aws_vpc.vpc-3.id}" + transit_gateway_default_route_table_association = false + transit_gateway_default_route_table_propagation = false + tags = { + Name = "tgw-att-vpc3" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_ec2_transit_gateway_vpc_attachment" "tgw-att-vpc-4" { + subnet_ids = ["${aws_subnet.vpc-4-sub-a.id}", "${aws_subnet.vpc-4-sub-b.id}"] + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + vpc_id = "${aws_vpc.vpc-4.id}" + transit_gateway_default_route_table_association = false + transit_gateway_default_route_table_propagation = false + tags = { + Name = "tgw-att-vpc4" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +# Route Tables + +resource "aws_ec2_transit_gateway_route_table" "tgw-dev-rt" { + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + tags = { + Name = "tgw-dev-rt" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_ec2_transit_gateway_route_table" "tgw-shared-rt" { + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + tags = { + Name = "tgw-shared-rt" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +resource "aws_ec2_transit_gateway_route_table" "tgw-prod-rt" { + transit_gateway_id = "${aws_ec2_transit_gateway.test-tgw.id}" + tags = { + Name = "tgw-prod-rt" + scenario = "${var.scenario}" + } + depends_on = ["aws_ec2_transit_gateway.test-tgw"] +} + +# Route Tables Associations +## This is the link between a VPC (already symbolized with its attachment to the Transit Gateway) +## and the Route Table the VPC's packet will hit when they arrive into the Transit Gateway. +## The Route Tables Associations do not represent the actual routes the packets are routed to. +## These are defined in the Route Tables Propagations section below. + +resource "aws_ec2_transit_gateway_route_table_association" "tgw-rt-vpc-1-assoc" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-1.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-dev-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_association" "tgw-rt-vpc-2-assoc" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-2.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-dev-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_association" "tgw-rt-vpc-3-assoc" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-3.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-shared-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_association" "tgw-rt-vpc-4-assoc" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-4.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-prod-rt.id}" +} + +# Route Tables Propagations +## This section defines which VPCs will be routed from each Route Table created in the Transit Gateway + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-dev-to-vpc-1" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-1.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-dev-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-dev-to-vpc-2" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-2.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-dev-rt.id}" +} +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-dev-to-vpc-3" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-3.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-dev-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-shared-to-vpc-1" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-1.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-shared-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-shared-to-vpc-2" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-2.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-shared-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-shared-to-vpc-4" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-4.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-shared-rt.id}" +} + +resource "aws_ec2_transit_gateway_route_table_propagation" "tgw-rt-prod-to-vpc-3" { + transit_gateway_attachment_id = "${aws_ec2_transit_gateway_vpc_attachment.tgw-att-vpc-3.id}" + transit_gateway_route_table_id = "${aws_ec2_transit_gateway_route_table.tgw-prod-rt.id}" +} + +######################### +# EC2 Instances Section # +######################### + +# Key Pair + +resource "aws_key_pair" "test-tgw-keypair" { + key_name = "test-tgw-keypair" + public_key = "${var.public_key}" +} + +# Security Groups +## Need to create 4 of them as our Security Groups are linked to a VPC + +resource "aws_security_group" "sec-group-vpc-1-ssh-icmp" { + name = "sec-group-vpc-1-ssh-icmp" + description = "test-tgw: Allow SSH and ICMP traffic" + vpc_id = "${aws_vpc.vpc-1.id}" + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 8 # the ICMP type number for 'Echo' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 0 # the ICMP type number for 'Echo Reply' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "sec-group-vpc-1-ssh-icmp" + scenario = "${var.scenario}" + } +} + +resource "aws_security_group" "sec-group-vpc-2-ssh-icmp" { + name = "sec-group-vpc-2-ssh-icmp" + description = "test-tgw: Allow SSH and ICMP traffic" + vpc_id = "${aws_vpc.vpc-2.id}" + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 8 # the ICMP type number for 'Echo' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 0 # the ICMP type number for 'Echo Reply' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "sec-group-vpc-2-ssh-icmp" + scenario = "${var.scenario}" + } +} + +resource "aws_security_group" "sec-group-vpc-3-ssh-icmp" { + name = "sec-group-vpc-3-ssh-icmp" + description = "test-tgw: Allow SSH and ICMP traffic" + vpc_id = "${aws_vpc.vpc-3.id}" + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 8 # the ICMP type number for 'Echo' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 0 # the ICMP type number for 'Echo Reply' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "sec-group-vpc-3-ssh-icmp" + scenario = "${var.scenario}" + } +} + +resource "aws_security_group" "sec-group-vpc-4-ssh-icmp" { + name = "sec-group-vpc-4-ssh-icmp" + description = "test-tgw: Allow SSH and ICMP traffic" + vpc_id = "${aws_vpc.vpc-4.id}" + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 8 # the ICMP type number for 'Echo' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { + from_port = 0 # the ICMP type number for 'Echo Reply' + to_port = 0 # the ICMP code + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "sec-group-vpc-4-ssh-icmp" + scenario = "${var.scenario}" + } +} + +# VMs + +## Fetching AMI info +data "aws_ami" "ubuntu" { + most_recent = true + + filter { + name = "name" + values = ["ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*"] + } + + filter { + name = "virtualization-type" + values = ["hvm"] + } + + owners = ["099720109477"] # Canonical +} + +resource "aws_instance" "test-tgw-instance1-dev" { + ami = "${data.aws_ami.ubuntu.id}" + instance_type = "t2.micro" + subnet_id = "${aws_subnet.vpc-1-sub-a.id}" + vpc_security_group_ids = [ "${aws_security_group.sec-group-vpc-1-ssh-icmp.id}" ] + key_name = "${aws_key_pair.test-tgw-keypair.key_name}" + private_ip = "10.10.1.10" + + tags = { + Name = "test-tgw-instance1-dev" + scenario = "${var.scenario}" + env = "dev" + az = "${var.az1}" + vpc = "1" + } +} + +resource "aws_instance" "test-tgw-instance2-dev" { + ami = "${data.aws_ami.ubuntu.id}" + instance_type = "t2.micro" + subnet_id = "${aws_subnet.vpc-2-sub-a.id}" + vpc_security_group_ids = [ "${aws_security_group.sec-group-vpc-2-ssh-icmp.id}" ] + key_name = "${aws_key_pair.test-tgw-keypair.key_name}" + private_ip = "10.11.1.10" + + tags = { + Name = "test-tgw-instance2-dev" + scenario = "${var.scenario}" + env = "dev" + az = "${var.az1}" + vpc = "2" + } +} + +resource "aws_instance" "test-tgw-instance3-shared" { + ami = "${data.aws_ami.ubuntu.id}" + instance_type = "t2.micro" + subnet_id = "${aws_subnet.vpc-3-sub-a.id}" + vpc_security_group_ids = [ "${aws_security_group.sec-group-vpc-3-ssh-icmp.id}" ] + key_name = "${aws_key_pair.test-tgw-keypair.key_name}" + private_ip = "10.12.1.10" + associate_public_ip_address = true + + tags = { + Name = "test-tgw-instance3-shared" + scenario = "${var.scenario}" + env = "shared" + az = "${var.az1}" + vpc = "3" + } +} + +resource "aws_instance" "test-tgw-instance4-prod" { + ami = "${data.aws_ami.ubuntu.id}" + instance_type = "t2.micro" + subnet_id = "${aws_subnet.vpc-4-sub-a.id}" + vpc_security_group_ids = [ "${aws_security_group.sec-group-vpc-4-ssh-icmp.id}" ] + key_name = "${aws_key_pair.test-tgw-keypair.key_name}" + private_ip = "10.13.1.10" + + tags = { + Name = "test-tgw-instance4-prod" + scenario = "${var.scenario}" + env = "prod" + az = "${var.az1}" + vpc = "4" + } +} + +########### +# Outputs # +########### + +output "PUBLIC_IP" { value = "${aws_instance.test-tgw-instance3-shared.public_ip}" } diff --git a/doc/transit-gateway.png b/doc/transit-gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..723dd5eeaa808bc62dff52c61a7102205d76e274 GIT binary patch literal 94780 zcmbq*WmweR7p)RXqaYws0*-VzAdM)}DGgH6BHhx`T|*2dNOvRM9Rr9U-7$1XNW(q& z{_8%^{dT|b3>jt2nYiA2pF7>PI+0^ zdpS5E7`}zIhLt@MhS3eSBC~97oXeMB)q8jyshk815pG)EDQI4iEHMqjrouEyBJ5dn zaF|giM4V_D@`h#=w!bX;^a0eb4NfmBVW{NnL(LHsA};z_FjAs6bMM&jc6FJwJK9i! zJPB6k0Y0GyN{LK?1J9g{A2GLo=P<7q8!W;V3yrC1sWR+bC^XVESKC`m722D2uh16M z)Bm|`l#w%#^%2_cvFNgApg`47zfrRj)9Rb>wfP`sK2( zw$<+tvmp5|HxgPWH(bW&mr+XQ3vYQy4~zX&Npj)?p|9kh)aB>3>pm1OKXXIy^h0P7 zh0llVCP|bf1_Exa4t7$wkXY^Q`}{l z_xGi^7~17f0*_xiQ%*btI{ku#oayf3L;);9?UnDX20VNMlGwClKYm)xO`kGaSGU`o z7H~^O?+FO&50AZ%n(UoX692VR(^&M=2gIH1Pvx~i3XuWv%(^?(wLQsPChQ&kb`ffejzE{2V zr4>5&HTL~Tjfukkrh-!RiE^ipu`<8@dxnv}XNZ>;g7qFVHqL^VioZ)kNrvNz_ z*;iUSdr>%HN80plJ~iCe^fa-JWR~e^$OWr)OX=`iF}X)I_3ij(ubfWtnttzpzpi1` zn22g=ep+bg()~+$qGT;B)L2(LSwFpBomu1l$vjOsntcFgT6X!Em!##Kz?wW1m%#b@yMsmx62A7$f0s>t@=WSP5mUg7svHQ1X?(` zVx_t?O;>?!Kw)ar5v)4UO*x}6ML^EFXtI~o) zcHQ@0rx&T2Te<8!Pxp?_btG)|Cs2^(e(%FA4Vj3U!nNz|L9R^^QtyAIO(DS0)jD-L zJbSE1Q{HpM{%FGa>s{Xp1&W;RCC(Ol^6@;$~Go%S3~!<7y^#{7M!k=kzH0#8d>NSSKl3Kr-+PWn;Rot6`Fv&Svjb=A@7 z6n36_;6l<9Ei3O?xj-g5{_dYxPd?1cT1_f@F(tM zze#st75g#r43Uw3u=Z22hK*UWQ#+t{D-B7#Zw<=L_G9_<-(9DL_2WtLEcAC@K^YA??p;=m|u}eo;g3b> zSQqHfxD#XITHQHnb98qoFbFTK;I{D0a$S&3v`Tk#ia%`5uT=pzpFhDrRCN8O=l0} zI9aC!eBRq}m(kjAmZA`DVA z>q}(jvg2QCm>Ej28zfkq87TBTCtkq58OHC?(a2v@WMzN)F%MHnc$ZF>rLvBv^R&O_ z!au}wY5$EE&0)-cT(4ZknySFj%msbi_TMfR)ssy?NP>Y@1)+@!76(2TC2I|O| z^h)1;3x57jO?gJ3ZHrxJc>A8M6!`j}{NC;BfyjWkuUfVWEF4uhK_Y!ri`^lwpBiGl zv{Fcn?8*MQrk2nPX+BTV&LES>#&s;=PlZ*?6qc#Go=rPKz1rd-8V7@4pEf^soVGu4l8anzwGH*15 zrt-$nR|cDz`0?Y9pFT+$vEY&O-0|eMUw@~h^fu1B?73ZwVLSPLjU5s}z1n&$CMMRF z-4#YAj(kKy;uH3qWo(qukakAg8`Kan8jwwH@1{zO_3Za@HyM|CX?6AZ@Nija>4S9` zI`MRqdwoaC8#Db15Vo$Y5Do*yR-Zp931f<*dM?9B6I)#{X-I;tcyQ8BV%JJymr}M zUTJ9UD71D(#y6BrSVL zVo=Tx17qyUjITAc^28h9|33Of#bQ zLg0=0Ma4btO2p&u2nLz!+L`NEoGx=t-?*E~93LWJ`S7!sxW4Em*LMko!i1DF_32mv zIRnoy^35ulS8b#(bQQa)f3`HgRBvlqAk}uw7*_0@qN;N&^GOqOQoHg~?bu3+isSI+ z19IMw7@b49J>KXc;z0bM`{(__<$#Kw=CitWh24t2!r;2?KJHo-�|nG18!0Y6uQn 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�UDmt%1yA)r(=*hP+Yw4}K#_4eOo=VGVAY*OK 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