This template creates the following:
- a /24 vpc
- 3 * /26 private subnets
- 3 * /28 public subnets
- 3 * nat gateways
- an internet gateway
- an s3 endpoint
- the plumbing to connect the above
It can be used standalone:
Or as a nested stack:
"NetworkStack": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"Parameters": { "CidrBlockPrefix": "10.10.10" },
"TemplateURL": "https://s3-us-west-2.amazonaws.com/jmuenster-public-templates/vpc-stack/template.json",
"TimeoutInMinutes": "10"
}
},
A few caveats:
- This doesn't work in regions with two availability zones, for obvious reasons
- Availability zone are mapped on a per account basis, so you won't always have an a, b and c AZ name. If this is the case, use the ZoneId parameters to override the default settings