Metadata is mostly for organizing and presenting Parameters in a better way when using CloudFormation in the AWS Web UI.
These are the input parameters for this template. All of these parameters must be supplied for this template to be deployed.
Prod or NonProd VPC.
The following tags are applied to all resources created by this template.
From Parameters, is this a Prod or NonProd account? Determines what resources are created.
These are all of the resources deployed by this template.
This is the VPC itself. Mostly just naming things here
Be sure to enable DNS support, otherwise the EFS service doesn't work.
Create an InternetGateway
Attach the InternetGateway to the VPC
Create a Public Subnet in Availability Zone A
Create a Public Subnet in Availability Zone B
Create a Private Subnet in Availability Zone A
Create a Private Subnet in Availability Zone B
Create an ACL for the public subnets
Allow in TCP traffic to the public subnet on port 443 (HTTPS)
Allow in TCP traffic to the public subnet on port 80 (HTTP)
Allow in TCP traffic to the public subnet on port 22 (SSH)
We allow it in here at the ACL level, but it should be further restricted by security groups.
Allow in TCP traffic to the public subnet on port 3389 (RDP)
We allow it in here at the ACL level, but it should be further restricted by security groups.
Allow in TCP return traffic on ephemeral ports
Allow all TCP traffic out of the public ACL
Associate The Public ACL with Public Subnet A
Associate The Public ACL with Public Subnet B
Create an ACL for the private subnets
Allow in all traffic to the private subnets
Allow all traffic out of the private subnets
Associate the Private ACL with Private Subnet A
Associate the Private ACL with Private Subnet B
Create a Public Route table
Default route for the public subnets
Associate the public route table with Public Subnet A
Associate the public route table with Public Subnet B
Create a Private Route Table
Enable route propagation between the VGW and the private route table
Associate the private route table with Private Subnet A
Associate the private route table with Private Subnet A
Create a VPC Endpoint for S3 access
Create an Virtual Gateway for the VPN tunnels to use
Attach the VGW to our VPC
Create a Customer Gateway to connect to campus (ASR1)
Create a Customer Gateway to connect to campus (ASR2)
Create a VPN connection for the ASR1 CustomerGateway
Create a VPN connection for the ASR2 CustomerGateway
Output values that can be viewed from the AWS CloudFormation console. Exported names can be used by other stacks via Fn::ImportValue
EC2 Basic CloudFormation Deployment
This CloudFormation template will deploy a single EC2 instance with its own security group.