Forewords
This article introduces
the principles of the Amazon Web Service Virtual Private Cloud (AWS VPC)
Control-Plane operation and Data-Plane encapsulation. Also, this document explains
how the same kind of forwarding model can be achieved using standard protocols.
Amazon has not published details of its VPC networking solution, and this
document relies on publically available information and the author’s studies.
The motivation for writing this document was that I wanted to point out that no
matter how simple and easy to manage Cloud Networking looks and feels like,
those still are as complex as any other large scale networks.
Example Environment
Figure 1-1 illustrates
an example AWS VPC environment running on an imaginary application on two Elastic
Cloud Computing (EC2) Instances, EC2-A and EC2-B. The instance EC2-A will be
launched in physical server Host-A while the instance EC2-B will later be launched
in physical server Host-B. The VPC vpc-1a2b3c4d is created in Stockholm
(eu-north-1) Region in Availability Zone (AZ) eu-north-1c. The subnet 172.16.31.0/20
can be used in AZ eu-north-1c. The subnet for instances is 172.31.10.0/24.
Elastic Network Interface-1 (ENI1) with IP address 172.31.10.10 will be attached
to the instance EC2-A and ENI2 with IP address 172.31.10.20 will be attached to
the instance EC2-B. For simplicity, the same Security Group (SG) “sg-nwktimes”,
allowing all data traffic between EC2-A and EC2-B) is attached to both instances.
Inside both physical
servers, there is a software router, Router-1 in Host-A and Router-2 in Host-B.
Servers use offload NICs for connection to AZ Underlay Network and data traffic
from instances is sent out of the server straight to offload NIC bypassing the
hypervisor. The AZ Backbone includes three routers, Router-3, Router-4, and
Router-5. Also, there is a Mapping Service that represents the centralized
Control Plane. It holds an
Instance-to-Location Mapping Database that has information about every
EC2 Instances running on a given VPC. Routers, servers and Mapping Service use
IPv6 addressing.
Figure 1-1: Overall example topology and IP addressing scheme.
