Amazon Virtual Private Cloud
Deep Dive
Steve Seymour, Solutions Architect, Networking Specialist
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
aws vpc –-expert-mode
Topics today
Virtual networking options
EC2-Classic
Default VPC
VPC
Simple to get started –
all instances have
Internet connectivity,
auto-assigned private
and public IP addresses
The best of both
Advanced virtual
networking services:
ENIs and multiple IPs
routing tables
egress security groups
network ACLs
private connectivity
Inbound security groups
Get started using the
EC2-Classic
experience
If and when needed,
begin using any VPC
feature you require
Enhanced networking
And more to come...
Virtual networking options
EC2-Classic
Default VPC
VPC
Simple to get started –
all instances have
Internet connectivity,
auto-assigned private
and public IP addresses
The best of both
Advanced virtual
networking services:
ENIs and multiple IPs
routing tables
egress security groups
network ACLs
private connectivity
Inbound
security groups
All accounts
created after
12/4/2013 support VPC
only and have a default
VPC in each region
Get started using the
EC2-Classic
experience
If and when needed,
begin using any VPC
feature you require
Enhanced networking
And more to come...
Confirming your default VPC
describe-account-attributes
VPC only
1. Routing & private connections
Implementing a hybrid architecture
Corporate Data Center
Create VPC
Corporate Data Center
aws ec2 create-vpc --cidr 10.10.0.0/16
aws ec2 create-subnet --vpc vpc-c15180a4 --cidr 10.10.1.0/24 --a us-west-2a
aws ec2 create-subnet --vpc vpc-c15180a4 --cidr 10.10.2.0/24 --a us-west-2b
Create VPN connection
Corporate Data Center
aws
aws
aws
aws
ec2
ec2
ec2
ec2
create-vpn-gateway --type ipsec.1
attach-vpn-gateway --vpn vgw-f9da06e7 --vpc vpc-c15180a4
create-customer-gateway --type ipsec.1 --public 54.64.1.2 --bgp 6500
create-vpn-connection --vpn vgw-f9da06e7 --cust cgw-f4d905ea --t ipsec.1
Launch instances
Corporate Data Center
aws ec2 run-instances --image ami-d636bde6 --sub subnet-d83d91bd --count 3
aws ec2 run-instances --image ami-d636bde6 --sub subnet-b734f6c0 --count 3
Using AWS Direct Connect
Corporate Data Center
aws directconnect create-connection --loc EqSE2 --b 1Gbps --conn My_First
aws directconnect create-private-virtual-interface --conn dxcon-fgp13h2s --new
virtualInterfaceName=Foo, vlan=10, asn=60, authKey=testing,
amazonAddress=192.168.0.1/24, customerAddress=192.168.0.2/24,
virtualGatewayId=vgw-f9da06e7
Configuring route table
Corporate Data Center
192.168.0.0/16
Each VPC has a single
routing table at creation time,
used by all subnets
aws ec2 create-route --ro rtb-ef36e58a --dest 0.0.0.0/0 --gateway-id vgw-f9da06e7
Remote connectivity best practices
Availability Zone
Availability Zone
Each VPN connection
consists of 2 IPSec
tunnels. Use BGP for
failure recovery.
Corporate Data Center
Remote connectivity best practices
Availability Zone
BGP
Corporate Data Center
BGP
Availability Zone
A pair of VPN
connections (4 IPSec
tunnels total) protects
against failure of your
customer gateway
Remote connectivity best practices
Availability Zone
Availability Zone
BGP
Redundant AWS Direct
Connect connections
with VPN backup
Corporate Data Center
VPC with private and public connectivity
Corporate Data Center
192.168.0.0/16
aws
aws
aws
aws
aws
ec2
ec2
ec2
ec2
ec2
create-internet-gateway
attach-internet-gateway --internet igw-5a1ae13f --vpc vpc-c15180a4
delete-route --ro rtb-ef36e58a --dest 0.0.0.0/0
create-route --ro rtb-ef36e58a --dest 0.0.0.0/0 --gateway-id igw-5a1ae13f
create-route --ro rtb-ef36e58a --dest 192.168.0.0/16 --gateway-id vgw-f9da06e7
Automatic route propagation from VGW
Corporate Data Center
192.168.0.0/16
Used to automatically update routing
table(s) with routes present in the VGW
aws ec2 delete-route --ro rtb-ef36e58a --dest 192.168.0.0/16
aws ec2 enable-vgw-route-propagation --ro rtb-ef36e58a --gateway-id vgw-f9da06e7
Isolating connectivity by subnet
Corporate
192.168.0.0/16
Subnet with connectivity only
to other instances and the
Internet via the IGW
aws
aws
aws
aws
ec2
ec2
ec2
ec2
create-subnet --vpc vpc-c15180a4 --cidr 10.10.3.0/24 --a us-west-2b
create-route-table --vpc vpc-c15180a4
associate-route-table --ro rtb-fc61b299 --subnet subnet-60975a17
create-route --ro rtb-ef36e58a --dest 0.0.0.0/0 --gateway-id igw-5a1ae13f
Software VPN for VPC-to-VPC connectivity
# VPC A
aws ec2
aws ec2
# VPC B
aws ec2
aws ec2
modify-network-interface-attribute --net eni-f832afcc --no-source-dest-check
create-route --ro rtb-ef36e58a --dest 10.20.0.0/16 --instance-id i-f832afcc
modify-network-interface-attribute --net eni-9c1b693a --no-source-dest-check
create-route --ro rtb-67a2b31c --dest 10.10.0.0/16 –-instance-id i-9c1b693a
Software VPN for VPC-to-VPC connectivity
Software VPN
between these
instances
Software VPN for VPC-to-VPC connectivity
Enabling communication
between instances in these
subnets; adding routes to the
default routing table
Software firewall to the Internet
Routing all traffic from subnets
to the Internet via a firewall is
conceptually similar
# Default routing table directs traffic to the NAT/firewall instance
aws ec2 create-route --ro rtb-ef36e58a --dest 0.0.0.0/0 --instance-id i-f832afcc
# Routing table for 10.10.3.0/24 directs to the Internet
aws ec2 create-route --ro rtb-67a2b31c --dest 0.0.0.0/0 --gateway-id igw-5a1ae13f
Road to Automation - aka CloudFormation
Jackie Wong, Network Manager, Financial Times
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Financial Times
• 
International Media Company
• 
Pioneer of Selling Digital Subscriptions
• 
Speed to Market
Repetitive and Manual Deployment
• 
Some history …
• 
Manual deployment;
• 
Time Consuming
• 
Inconsistent
• 
Human Error
• 
Repetitive
CloudFormation – JSON
{ “Recognize Similarity” : [
{ “Key” : “Subnets” },
{ “Key” : “ Security” },
{ “Key” : “ Routing” },
{ “Key” : “ Internet” },
{ “Key” : “ Corporate” },
{ “Key” : “ etc” }
]
}
• 
Using Mapping and Parameters within JSON to make it [{“Universal”}]
Outcome - Speed to Market
• 
Faster deployment
• 
Consistent
• 
Accurate Deployment
• 
Easy to manage and update
• 
Stored Centrally
Give it a Go
It is addictive………..in a good way!
2. VPC peering
Shared services VPC using VPC peering
•  Common/core services
–  Authentication/directory
–  Monitoring
–  Logging
–  Remote administration
–  Scanning
Provides infrastructure zoning
•  Dev: VPC B
•  Test: VPC C
•  Production: VPC D
VPC peering for VPC-to-VPC connectivity
VPC A - 10.10.0.0/16
vpc-c15180a4
aws
aws
VPC
VPC
VPC B - 10.20.0.0/16
vpc-062dfc63
ec2 create-vpc-peering-connection --vpc-id vpc-c15180a4 --peer-vpc vpc-062dfc63
ec2 accept-vpc-peering-connection --vpc-peer pcx-ee56be87
A> aws ec2 create-route --ro rtb-ef36e58a --des 10.20.0.0/16 --vpc-peer pcx-ee56be87
B> aws ec2 create-route --ro rtb-67a2b31c --des 10.10.0.0/16 --vpc-peer pcx-ee56be87
VPC peering across accounts
VPC A - 10.10.0.0/16
vpc-c15180a4
VPC B - 10.20.0.0/16
vpc-062dfc63
Account ID 472752909333
aws ec2 create-vpc-peering-connection --vpc-id vpc-c15180a4 --peer-vpc vpc-062dfc63
--peer-owner 472752909333
# In owner account 472752909333
aws ec2 accept-vpc-peering-connection --vpc-peer pcx-ee56be87
VPC peering – Additional considerations
•  Security groups not supported across peerings
–  Workaround: specify rules by IP prefix
•  No “transit” capability for VPN, AWS Direct
Connect, or 3rd VPCs
–  Example: Cannot access VPC C from VPC A via VPC B
–  Workaround: Create a direct peering from VPC A to VPC C
•  Peer VPC address ranges cannot overlap
–  But, you can peer with 2+ VPCs that themselves overlap
–  Use subnets/routing tables to pick the VPC to use
VPC peering with software firewall
VPC A - 10.10.0.0/16
VPC B - 10.20.0.0/16
# Default routing table directs Peer traffic to the NAT/firewall instance
aws ec2 create-route --ro rtb-ef36e58a --dest 10.20.0.0/16 --instance-id i-f832afcc
# Routing table for 10.10.3.0/24 directs to the Peering
aws ec2 create-route --ro rtb-67a2b31c --dest 10.20.0.0/16 --vpc-peer pcx-ee56be87
VPC Design for the Enterprise
Eamonn O'Neill, Director, Lemongrass Consulting
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Lemongrass Account
VPC Layout
Cloud
Controller
Ireland
Website
Workspaces
Primary
DR
Ireland
Tokyo
Singapore
Singapore
Seaco Main Account
Seaco DR Account
User Connections to AWS
VPN
VPN
3rd Parties
VPN
Remote
Seaco Users
3rd Parties
Remote
Seaco Users
Cloud
Controller
Lemongrass
Support
Primary
Remote
Desktop
Services
Direct
Connect
(100Mb)
Singapore
Singapore
London
Livorno
Moscow
Shanghai
Miami
Hamburg
India
Seaco WAN
Subnet Layout
DMZ
DMZ
Active
Directory
VPN
Remote
Desktop
Services
Domain
Controller
SQL
Server
Active
Directory
VPN
VPN
Server
SAP Web
Dispatcher
Remote
Desktop
Services
VPN
VPN
Server
System
Centre
2012
Domain
Controller
VPN
Server
Management & Non-SAP
Management & Non-SAP
DMZ
SAP DR
SQL
Server
Domain
Controller
SAP Non-Production
Database
Servers
App.
App.
Servers
Servers
App.
Servers
VPC
Peering
SAP Production
Database
Servers
App.
App.
Servers
Servers
App.
Servers
Database
Servers
ap-southeast-1a
ap-southeast-1b
Primary VPC
App
App
Servers
App
Servers
Servers
ap-southeast-1b
DR VPC
Lemongrass Consulting
“Transforming the Workplace through Mobile and Cloud”
S24
Related Presentations – Videos online
https://www.youtube.com/user/AmazonWebServices
•  ARC205 – VPC Fundamentals and Connectivity
•  ARC401 – Black Belt Networking for Cloud Ninja
–  Application centric, network monitoring, management, floating IPs
•  ARC403 – From One to Many: Evolving VPC Design
•  SDD302 – A Tale of One Thousand Instances
–  Example of EC2-Classic customer adopting VPC
•  SDD419 – Amazon EC2 Networking Deep Dive
–  Network performance, placement groups, enhanced networking
LONDON
Please complete your session evaluation!