VPC

Description (What does this pattern/example do?)

Creates various resources that construct an AWS Virtual Private Cloud (VPC).

Resources

AWS::EC2::VPC

AWS::EC2::InternetGateway

AWS::EC2::VPCGatewayAttachment

AWS::EC2::FlowLog

AWS::EC2::SecurityGroup

AWS::EC2::RouteTable

  • 1 public route table

  • 2 private route tables

AWS::EC2::Route

  • 1 public route

AWS::EC2::Subnet

  • 2 public subnets in 2 AZs

  • 2 private subnets in 2 AZs

AWS::EC2::SubnetRouteTableAssociation

  • Public route table 1 x public subnet 1

  • Public route table 1 x public subnet 2

  • Private route table 1 x private subnet 1

  • Private route table 2 x private subnet 2

AWS::IAM::Role

IAM role for VPC flow log

Input

None

Output

VPC

Logical ID of EC2 VPC resource AWS::EC2::VPC created by this pattern.

PublicRoutingTable

Logical ID of EC2 public routing table resource AWS::EC2::RouteTable created by this pattern.

PublicSubnetA

Logical ID of EC2 public subnet resource #1 AWS::EC2::Subnet created by this pattern.

PublicSubnetB

Logical ID of EC2 public subnet resource #2 AWS::EC2::Subnet created by this pattern.

PrivSubRoutingTableA

Logical ID of EC2 private routing table resource #1 AWS::EC2::RouteTable created by this pattern.

PrivSubRoutingTableB

Logical ID of EC2 private routing table resource #2 AWS::EC2::RouteTable created by this pattern.

PrivSubnetA

Logical ID of EC2 private subnet resource #1 AWS::EC2::Subnet created by this pattern.

PrivSubnetB

Logical ID of EC2 private subnet resource #2 AWS::EC2::Subnet created by this pattern.