AWS Hybrid & Multi-VPC Connectivity Guide

A comprehensive reference for AWS hybrid connectivity terms, concepts, and architecture patterns.


Table of Contents

  1. Core Terms & Definitions
  2. VPC-to-VPC Connectivity
  3. On-Premises to AWS Connectivity
  4. Remote/Client Access
  5. AWS Cloud WAN
  6. Direct Connect Deep Dive
  7. Architecture Patterns
  8. Decision Matrices

Core Terms & Definitions

What are the key terms and concepts in AWS hybrid connectivity?

Gateways

TermDescription
VGW (Virtual Private Gateway)VPN/DX termination point attached to a single VPC; supports both VPN and Direct Connect via Private VIF
CGW (Customer Gateway)Logical representation of your on-premises router/firewall device in AWS; contains public IP and ASN info
TGW (Transit Gateway)Regional network hub that connects VPCs, VPNs, Direct Connect, and other TGWs; supports transitive routing
DXGW (Direct Connect Gateway)Global resource that connects Direct Connect to multiple VGWs or TGWs across any AWS region
IGW (Internet Gateway)Enables internet access for VPC resources; horizontally scaled and highly available
NAT GatewayAllows private subnet resources to access internet while remaining unreachable from internet

Connection Types

TermDescription
VPC PeeringDirect private connection between two VPCs; non-transitive, works cross-region and cross-account
Transit Gateway PeeringConnects TGWs across regions; enables global transitive network
PrivateLink (VPC Endpoint Services)Privately expose services to other VPCs via ENI; consumer-provider model, highly secure
Gateway EndpointsFree endpoints for S3 and DynamoDB; route table entries, no ENI required
Interface EndpointsENI-based endpoints for AWS services; uses PrivateLink, costs per hour and per GB
Site-to-Site VPNIPsec encrypted tunnel over internet to VGW or TGW; quick setup, up to 1.25 Gbps per tunnel
Client VPNOpenVPN-based managed service for remote user access to AWS and on-premises resources
Direct Connect (DX)Dedicated physical connection from on-premises to AWS; 1/10/100 Gbps dedicated or 50Mbps-10Gbps hosted
Cloud WANGlobal network service that uses a central policy to create and manage networks spanning multiple regions and accounts

Direct Connect Components

TermDescription
DX LocationPhysical colocation facility where AWS has presence; you colocate or connect via partner
DX ConnectionPhysical port allocation - Dedicated (you own) or Hosted (partner owns)
VIF (Virtual Interface)Logical 802.1Q VLAN over DX connection; carries traffic to specific destinations
Private VIFAccess VPC private resources via VGW or DXGW; uses private IP space
Public VIFAccess all AWS public services and IPs over dedicated connection (not internet)
Transit VIFConnect to Transit Gateway via DXGW; required for TGW connectivity over DX
Hosted VIFVIF created by DX partner and shared to your account; you don’t own the connection
LAG (Link Aggregation Group)Bundle up to 4 DX connections for increased bandwidth and redundancy
MACsecLayer 2 encryption for DX connections; available on 10Gbps and 100Gbps dedicated connections

Cloud WAN Components

TermDescription
Global NetworkTop-level container for your Cloud WAN; spans all regions
Core NetworkManaged network within Global Network; defined by policy document
Core Network PolicyJSON document defining segments, attachments, and routing behavior
SegmentRouting domain within Core WAN; isolates traffic (e.g., prod, dev, shared)
AttachmentConnection to Core Network - VPC, VPN, Direct Connect, or TGW Route Table
Core Network Edge (CNE)Regional presence of Core Network; similar to TGW but managed by Cloud WAN

Routing Concepts

TermDescription
BGP (Border Gateway Protocol)Dynamic routing protocol; required for DX, optional for VPN
ASN (Autonomous System Number)Unique identifier for BGP peers; AWS default is 64512, you bring your own
AS_PATHBGP attribute showing path through autonomous systems; used for path selection
MED (Multi-Exit Discriminator)BGP attribute to influence inbound traffic path selection
LOCAL_PREFBGP attribute for outbound path selection; higher is preferred
ECMP (Equal Cost Multi-Path)Load balancing across multiple equal-cost paths; TGW supports up to 50 VPN tunnels

VPC-to-VPC Connectivity

What are the different ways to connect VPCs to each other?

VPC Peering

┌────────────────────────────────────────────────────────────────────────┐
│                                                                        │
│   Account A                              Account B                     │
│   ┌─────────────────────┐                ┌─────────────────────┐       │
│   │  VPC-A (10.0.0.0/16)│                │  VPC-B (10.1.0.0/16)│       │
│   │                     │                │                     │       │
│   │  ┌───────────────┐  │                │  ┌───────────────┐  │       │
│   │  │ EC2 Instance  │  │                │  │ EC2 Instance  │  │       │
│   │  │ 10.0.1.10     │  │                │  │ 10.1.1.10     │  │       │
│   │  └───────────────┘  │                │  └───────────────┘  │       │
│   │                     │                │                     │       │
│   │  Route Table:       │                │  Route Table:       │       │
│   │  10.1.0.0/16→pcx-xx │                │  10.0.0.0/16→pcx-xx │       │
│   └──────────┬──────────┘                └──────────┬──────────┘       │
│              │                                      │                  │
│              │         VPC Peering Connection       │                  │
│              │            pcx-xxxxxxxx              │                  │
│              └──────────────────────────────────────┘                  │
│                                                                        │
│   ⚠️  Non-transitive: A↔B, B↔C does NOT mean A↔C                       |
│                                                                        │
└────────────────────────────────────────────────────────────────────────┘

VPC Peering Characteristics:

FeatureDetails
TransitivityNon-transitive (A↔B, B↔C does NOT mean A↔C)
BandwidthNo limit (uses AWS backbone)
Cross-RegionSupported (inter-region peering)
Cross-AccountSupported
IP OverlapNot allowed between peered VPCs
CostFree within AZ, $0.01/GB cross-AZ, $0.02/GB cross-region
Max Peerings125 per VPC (can request increase)

Transit Gateway

┌────────────────────────────────────────────────────────────────────────────────────────┐
│                                    AWS CLOUD (us-east-1)                               │
│                                                                                        │
│         VPC-A (Prod)              VPC-B (Dev)               VPC-C (Shared)             │
│        10.1.0.0/16               10.2.0.0/16                10.3.0.0/16                │
│    ┌────────────────┐        ┌────────────────┐        ┌────────────────┐              │
│    │ ┌────┐ ┌────┐  │        │ ┌────┐ ┌────┐  │        │ ┌────┐ ┌────┐  │              │
│    │ │App │ │ DB │  │        │ │App │ │ DB │  │        │ │DNS │ │Mail│  │              │
│    │ └──┬─┘ └─┬──┘  │        │ └──┬─┘ └─┬──┘  │        │ └──┬─┘ └─┬──┘  │              │
│    │    └──┬──┘     │        │    └──┬──┘     │        │    └──┬──┘     │              │
│    └───────┼────────┘        └───────┼────────┘        └───────┼────────┘              │
│            │                         │                         │                       │
│    ┌───────┴────────┐        ┌───────┴────────┐        ┌───────┴────────┐              │
│    │ TGW Attachment │        │ TGW Attachment │        │ TGW Attachment │              │
│    └───────┬────────┘        └───────┬────────┘        └───────┬────────┘              │
│            │                         │                         │                       │
│            └─────────────────────────┼─────────────────────────┘                       │
│                                      │                                                 │
│    ╔═════════════════════════════════╧═════════════════════════════════════╗           │
│    ║                      TRANSIT GATEWAY (Regional Hub)                   ║           │
│    ║                           ASN: 64512                                  ║           │
│    ║                                                                       ║           │
│    ║  ┌─────────────────────────────────────────────────────────────────┐  ║           │
│    ║  │              TGW Route Tables (for segmentation)                │  ║           │
│    ║  │  ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐            │  ║           │
│    ║  │  │  Prod-RT    │ │   Dev-RT    │ │   Shared-RT     │            │  ║           │
│    ║  │  │10.3→VPC-C   │ │10.3→VPC-C   │ │10.1→VPC-A       │            │  ║           │
│    ║  │  │192.168→VPN  │ │(no on-prem) │ │10.2→VPC-B       │            │  ║           │
│    ║  │  └─────────────┘ └─────────────┘ │192.168→VPN      │            │  ║           │
│    ║  └─────────────────────────────────────────────────────────────────┘  ║           │
│    ╚═══════════════════════════════════╤═══════════════════════════════════╝           │
│                                        │                                               │
│                           ┌────────────┴────────────┐                                  │
│                           │    VPN Attachment       │                                  │
│                           └────────────┬────────────┘                                  │
└────────────────────────────────────────┼───────────────────────────────────────────────┘

                            ╔════════════╧════════════╗
                            ║   Site-to-Site VPN      ║
                            ╚════════════╤════════════╝

                            ┌────────────┴────────────┐
                            │      ON-PREMISES        │
                            │    192.168.0.0/16       │
                            └─────────────────────────┘

Transit Gateway Characteristics:

FeatureDetails
TransitivityFully transitive routing
Bandwidth50 Gbps per VPC attachment per AZ
ScopeRegional (use TGW Peering for cross-region)
AttachmentsVPC, VPN, Direct Connect (via DXGW), Peering, Connect
Route TablesMultiple supported for network segmentation
Max Attachments5,000 per TGW
Cost$0.05/hour per attachment + $0.02/GB processed
┌──────────────────────────────────────────────────────────────────────────┐
│                                                                          │
│   Consumer VPC (10.0.0.0/16)              Provider VPC (172.16.0.0/16)   │
│   ┌─────────────────────────┐              ┌─────────────────────────┐   │
│   │                         │              │                         │   │
│   │  ┌─────────────────┐    │              │    ┌─────────────────┐  │   │
│   │  │   Application   │    │              │    │  Target Service │  │   │
│   │  └────────┬────────┘    │              │    └────────▲────────┘  │   |
│   │           │             │              │             │           │   │
│   │           ▼             │              │    ┌────────┴────────┐  │   │
│   │  ┌──────────────────┐   │              │    │      NLB        │  │   │
│   │  │Interface Endpoint│   │              │    └────────▲────────┘  │   │
│   │  │(ENI with Priv IP)│   │              │             │           │   │
│   │  └────────┬─────────┘   │              │    ┌────────┴────────┐  │   │
│   │           │             │              │    │Endpoint Service │  │   │
│   └───────────┼─────────────┘              │    └───────┬─────────┘  │   │
│               │                            └────────────┼────────────┘   │
│               │         AWS PrivateLink                 │                │
│               └─────────────────────────────────────────┘                │
│                   (Traffic stays on AWS backbone)                        │
│                                                                          │
│   ✓ IP overlap allowed (uses ENI in consumer VPC)                        │
│   ✓ Cross-account supported                                              │
│   ✗ Cross-region NOT supported                                           │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

PrivateLink Characteristics:

FeatureDetails
DirectionUnidirectional (consumer → provider)
IP OverlapAllowed (uses ENI in consumer VPC)
Cross-AccountSupported (via endpoint service permissions)
Cross-RegionNOT supported (same region only)
Load BalancerRequires NLB or GWLB in provider VPC
SecurityTraffic never traverses public internet
Cost$0.01/hour per AZ + $0.01/GB processed

Gateway vs Interface Endpoints

FeatureGateway EndpointInterface Endpoint
ServicesS3, DynamoDB only100+ AWS services
ImplementationRoute table entryENI with private IP
CostFREE$0.01/hour/AZ + $0.01/GB
DNSUses public DNSPrivate DNS optional
On-premises AccessNot directlyYes (via private IP)
Security GroupsNot supportedSupported

On-Premises to AWS Connectivity

How do I connect my on-premises data center to AWS?

Site-to-Site VPN

┌─────────────────────────────────────────────────────────────────────────┐
│                              AWS CLOUD                                  │
│  ┌─────────────────────────────────────────────────────────────────┐    │
│  │                         VPC (10.0.0.0/16)                       │    │
│  │   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐         │    │
│  │   │  Subnet A   │    │  Subnet B   │    │  Subnet C   │         │    │
│  │   │ 10.0.1.0/24 │    │ 10.0.2.0/24 │    │ 10.0.3.0/24 │         │    │
│  │   └─────────────┘    └─────────────┘    └─────────────┘         │    │
│  │         │                   │                  │                │    │
│  │         └───────────────────┼──────────────────┘                │    │
│  │                             │                                   │    │
│  │                    ┌────────┴────────┐                          │    │
│  │                    │ Route Table     │                          │    │
│  │                    │ 192.168.0.0/16  │                          │    │
│  │                    │    → VGW        │                          │    │
│  │                    └────────┬────────┘                          │    │
│  └─────────────────────────────┼───────────────────────────────────┘    │
│                                │                                        │
│                    ┌───────────┴───────────┐                            │
│                    │         VGW           │                            │
│                    │  (Virtual Private GW) │                            │
│                    │    ASN: 64512         │                            │
│                    └───────────┬───────────┘                            │
└────────────────────────────────┼────────────────────────────────────────┘

                    ╔════════════╧════════════╗
                    ║   VPN Connection        ║
                    ║  (2 IPsec Tunnels)      ║
                    ║   Tunnel 1: Active      ║
                    ║   Tunnel 2: Standby     ║
                    ╚════════════╤════════════╝

                        ═════════╧═════════
                            INTERNET
                        ═════════╤═════════

                    ┌────────────┴────────────┐
                    │         CGW             │
                    │  (Customer Gateway)     │
                    │   Public IP: x.x.x.x    │
                    │   ASN: 65000            │
                    └────────────┬────────────┘

┌────────────────────────────────┼────────────────────────────────────────┐
│                     ON-PREMISES DATA CENTER                             │
│                                │                                        │
│                    ┌───────────┴───────────┐                            │
│                    │   Router/Firewall     │                            │
│                    │   (Physical Device)   │                            │
│                    └───────────┬───────────┘                            │
│                                │                                        │
│         ┌──────────────────────┼──────────────────────┐                 │
│         │                      │                      │                 │
│   ┌─────┴─────┐         ┌──────┴──────┐        ┌──────┴──────┐          │
│   │  Server   │         │   Server    │        │   Server    │          │
│   │192.168.1.x│         │192.168.2.x  │        │192.168.3.x  │          │
│   └───────────┘         └─────────────┘        └─────────────┘          │
└─────────────────────────────────────────────────────────────────────────┘

Site-to-Site VPN Characteristics:

FeatureVPN to VGWVPN to TGW
Max Tunnels2 (1 VPN connection)100 (50 VPN connections × 2)
ECMPNot supportedSupported (up to 50 tunnels)
Max Bandwidth1.25 Gbps50 Gbps (with ECMP)
RoutingStatic or BGPStatic or BGP
AccelerationSupportedSupported

Accelerated Site-to-Site VPN

Uses AWS Global Accelerator edge locations for better performance:

Direct Connect Architecture

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                      AWS CLOUD                                          │
│                                                                                         │
│      US-EAST-1                                              EU-WEST-1                   │
│   ┌─────────────────────────────────────────┐         ┌─────────────────────────────┐   │
│   │  VPC-1        VPC-2        VPC-3        │         │  VPC-4        VPC-5         │   │
│   │  10.1/16      10.2/16      10.3/16      │         │  10.4/16      10.5/16       │   │
│   │    │            │            │          │         │    │            │           │   │
│   │    └──────────┬─┴────────────┘          │         │    └──────┬─────┘           │   │
│   │               │                         │         │           │                 │   │
│   │   ╔═══════════╧═══════════════╗         │         │   ╔═══════╧═════════╗       │   │
│   │   ║   Transit Gateway (TGW)   ║         │         │   ║      TGW        ║       │   │
│   │   ║      us-east-1            ║         │         │   ║   eu-west-1     ║       │   │
│   │   ╚═══════════╤═══════════════╝         │         │   ╚═══════╤═════════╝       │   │
│   └───────────────┼─────────────────────────┘         └───────────┼─────────────────┘   │
│                   │                                               │                     │
│                   │    ┌─────────────────────────────┐            │                     │
│                   └────┤                             ├────────────┘                     │
│                        │    Direct Connect Gateway   │     ◄── GLOBAL RESOURCE          │
│                        │          (DXGW)             │                                  │
│                        │       ASN: 64514            │                                  │
│                        └──────────────┬──────────────┘                                  │
│                                       │                                                 │
│                              Transit VIF (VLAN 200)   ◄── Must use Transit VIF          │
│                                       │                   for TGW connectivity          │
│                                       │                                                 │
│      ┌────────────────────────────────┴────────────────────────────────┐                │
│      │                      DX Location                                │                │
│      │    ┌────────────────────────────────────────────────────────┐   │                │
│      │    │   AWS          ════════════════          Customer      │   │                │
│      │    │   DX Router    Cross Connect             Router        │   │                │
│      │    │   (MMR)        (Physical Fiber)          (Your Cage)   │   │                │
│      │    └────────────────────────────────────────────────────────┘   │                │
│      └────────────────────────────────┬────────────────────────────────┘                │
└───────────────────────────────────────┼─────────────────────────────────────────────────┘

                              ┌─────────┴─────────┐
                              │  Carrier Network  │
                              │  (MPLS/WAN)       │
                              └─────────┬─────────┘

┌───────────────────────────────────────┼──────────────────────────────────────────────────┐
│                           ON-PREMISES DATA CENTER                                        │
│                                       │                                                  │
│                           ┌───────────┴────────────┐                                     │
│                           │   Core Router          │                                     │
│                           │   ASN: 65000           │                                     │
│                           │   192.168.0.0/16       │                                     │
│                           │                        │                                     │
│                           │   Receives via BGP:    │                                     │
│                           │   10.1.0.0/16 (VPC-1)  │                                     │
│                           │   10.2.0.0/16 (VPC-2)  │                                     │
│                           │   10.3.0.0/16 (VPC-3)  │                                     │
│                           │   10.4.0.0/16 (VPC-4)  │                                     │
│                           │   10.5.0.0/16 (VPC-5)  │                                     │
│                           └────────────────────────┘                                     │
└──────────────────────────────────────────────────────────────────────────────────────────┘

Remote/Client Access

How do remote users connect to AWS resources?

Client VPN

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                                                                         │
│   Remote Users                                                                          │
│   ┌─────────┐  ┌─────────┐  ┌─────────┐                                                 │
│   │ 👤 User  │ │ 👤 User  │  │ 👤 User │                                                 │
│   │OpenVPN  │  │AWS App  │  │OpenVPN  │                                                 │
│   └────┬────┘  └────┬────┘  └────┬────┘                                                 │
│        │            │            │                                                      │
│        └────────────┼────────────┘                                                      │
│                     │                                                                   │
│                     │  OpenVPN/TLS (UDP/TCP 443)                                        │
│                     │                                                                   │
│                ═════╧═════                                                              │
│                 INTERNET                                                                │
│                ═════╤═════                                                              │
│                     │                                                                   │
│   ┌─────────────────┼───────────────────────────────────────────────────────────────┐   │
│   │                 │                    AWS CLOUD                                  │   │
│   │                 │                                                               │   │
│   │   ┌─────────────┴──────────────┐                                                │   │
│   │   │    Client VPN Endpoint     │                                                │   │
│   │   │ Client CIDR: 172.16.0.0/16 │                                                │   │
│   │   │  (ENIs per subnet assoc)   │                                                │   │
│   │   └─────────────┬──────────────┘                                                │   │
│   │                 │                                                               │   │
│   │   ┌─────────────┴─────────────────────────────────────────────────────────┐     │   │
│   │   │                         VPC (10.0.0.0/16)                             │     │   │
│   │   │   ┌───────────┐    ┌───────────┐    ┌───────────┐                     │     │   │
│   │   │   │ Subnet A  │    │ Subnet B  │    │  EC2/RDS  │                     │     │   │
│   │   │   └───────────┘    └───────────┘    └───────────┘                     │     │   │
│   │   └───────────────────────────────────────────────────────────────────────┘     │   │
│   │                 │                                                               │   │
│   │                 │  (Optional: via TGW)                                          │   │
│   │                 ▼                                                               │   │
│   │   ┌─────────────────────────┐                                                   │   │
│   │   │     On-Premises         │                                                   │   │
│   │   │   192.168.0.0/16        │                                                   │   │
│   │   └─────────────────────────┘                                                   │   │
│   └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘

Client VPN Features:

FeatureDetails
ProtocolOpenVPN (UDP/TCP 443)
AuthenticationMutual TLS, AD, SAML 2.0, or combination
Split TunnelSupported (only VPC traffic through VPN)
AuthorizationSecurity groups + Network-based rules
LoggingCloudWatch Logs integration
Client CIDRCannot overlap with VPC CIDR
Cost$0.10/hour per association + $0.05/hour per connection

Client VPN vs Site-to-Site VPN

FeatureClient VPNSite-to-Site VPN
Use CaseRemote usersSite connectivity
ProtocolOpenVPN (TLS)IPsec
AuthenticationUser-based (certs, AD, SAML)Pre-shared key or certs
ScalabilityPer-user connectionsNetwork-to-network
Client SoftwareRequiredNot required
Managed ByAWSShared (AWS + Customer)

AWS Cloud WAN

What is AWS Cloud WAN and how does it differ from Transit Gateway?

AWS Cloud WAN is a global network service that uses a central policy to create and manage networks spanning multiple regions and accounts.

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                   AWS CLOUD WAN                                         │
│                                                                                         │
│   ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│   │                           Core Network Policy                                   │   │
│   │                           (JSON Document)                                       │   │
│   │                                                                                 │   │
│   │   ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐                 │   │
│   │   │   Production    │  │   Development   │  │ Shared Services │                 │   │
│   │   │    Segment      │  │    Segment      │  │    Segment      │                 │   │
│   │   └────────┬────────┘  └────────┬────────┘  └────────┬────────┘                 │   │
│   │            │                    │                    │                          │   │
│   │            │    ┌───────────────┼───────────────┐    │                          │   │
│   │            └────┤     Shared routing allowed    ├────┘                          │   │
│   │                 │   Prod ↔ Shared ↔ Dev         │                               │   │
│   │                 │   Prod ✗ Dev (isolated)       │                               │   │
│   │                 └───────────────────────────────┘                               │   │
│   └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                         │
│   US-EAST-1                          EU-WEST-1                       AP-SOUTHEAST-1     │
│   ┌─────────────────────┐            ┌─────────────────────┐        ┌───────────────┐   │
│   │ Core Network Edge   │◄══════════►│ Core Network Edge   │◄══════►│     CNE       │   │
│   │       (CNE)         │  AWS       │       (CNE)         │  AWS   │               │   │
│   └──────────┬──────────┘  Backbone  └──────────┬──────────┘Backbone└───────┬───────┘   │
│              │                                  │                           │           │
│   ┌──────────┴──────────┐            ┌──────────┴──────────┐        ┌───────┴───────┐   │
│   │ VPC-Prod  VPC-Dev   │            │ VPC-Prod  VPC-Dev   │        │   VPC-Prod    │   │
│   │ VPC-Shared          │            │                     │        │               │   │
│   └─────────────────────┘            └─────────────────────┘        └───────────────┘   │
│              │                                  │                           │           │
│              │                                  │                           │           │
│   ┌──────────┴──────────┐            ┌──────────┴──────────┐        ┌───────┴───────┐   │
│   │   DX Connection     │            │   DX Connection     │        │  VPN Conn     │   │
│   └──────────┬──────────┘            └──────────┬──────────┘        └───────┬───────┘   │
│              │                                  │                           │           │
└──────────────┼──────────────────────────────────┼───────────────────────────┼───────────┘
               │                                  │                           │
    ┌──────────┴──────────┐            ┌──────────┴──────────┐        ┌───────┴───────┐
    │    HQ - US          │            │   Branch - EU       │        │  Branch - AP  │
    │  (On-Premises)      │            │  (On-Premises)      │        │ (On-Premises) │
    └─────────────────────┘            └─────────────────────┘        └───────────────┘

Cloud WAN vs Transit Gateway

FeatureTransit GatewayCloud WAN
ScopeRegionalGlobal
ManagementPer-region configurationCentral policy
Cross-RegionManual TGW PeeringAutomatic
SegmentationRoute tablesPolicy-based segments
Route ManagementManual/BGPAutomatic from policy
Best ForSingle region or few regionsGlobal networks
CostPer attachment + dataPer attachment + data + policy

Direct Connect Deep Dive

What are the different VIF types and when should I use each?

VIF Types

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                          DIRECT CONNECT VIRTUAL INTERFACES                              │
└─────────────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│  PRIVATE VIF                                                                            │
│  ══════════                                                                             │
│  Purpose: Access VPC private IP addresses                                               │
│                                                                                         │
│      On-Prem                DX              Private VIF                                 │
│     ┌───────┐           ┌───────┐           ┌───────┐          ┌───────────────────┐    │
│     │Router │═══════════│  DX   │═══════════│DXGW or│══════════│  VGW ──► VPC      │    │
│     │       │           │       │           │ VGW   │          │       (Private)   │    │
│     └───────┘           └───────┘           └───────┘          └───────────────────┘    │
│        │                                                                                │
│        └──► Access: EC2, RDS, Lambda, etc. via private IPs                              │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│  PUBLIC VIF                                                                             │
│  ══════════                                                                             │
│  Purpose: Access AWS public endpoints (S3, DynamoDB, EC2 public IPs)                    │
│                                                                                         │
│      On-Prem                DX              Public VIF                                  │
│     ┌───────┐           ┌───────┐           ┌───────┐          ┌───────────────────┐    │
│     │Router │═══════════│  DX   │═══════════│ AWS   │══════════│ S3, DynamoDB,     │    │
│     │       │           │       │           │Public │          │ SQS, SNS, etc.    │    │
│     └───────┘           └───────┘           │Network│          │ (Public IPs)      │    │
│        │                                    └───────┘          └───────────────────┘    │
│        │                                                                                │
│        └──► Access: AWS public services WITHOUT traversing Internet                     │
│             Still uses AWS public IP ranges but via dedicated link                      │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│  TRANSIT VIF                                                                            │
│  ═══════════                                                                            │
│  Purpose: Connect to Transit Gateway (for multi-VPC, multi-region)                      │
│                                                                                         │
│      On-Prem                DX             Transit VIF                                  │
│     ┌───────┐           ┌───────┐           ┌───────┐          ┌───────────────────┐    │
│     │Router │═══════════│  DX   │═══════════│ DXGW  │══════════│  TGW ──► VPC-1    │    │
│     │       │           │       │           │       │          │      ──► VPC-2    │    │
│     └───────┘           └───────┘           └───────┘          │      ──► VPC-3    │    │
│        │                                                       │      ──► VPN      │    │
│        │                                                       └───────────────────┘    │
│        └──► Access: Multiple VPCs via single attachment                                 │
│             Required when connecting DX to Transit Gateway                              │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘

VIF Limits & Requirements:

VIF TypeConnects ToBGP RequiredTypical Use Case
Private VIFVGW or DXGWYesSingle VPC or few VPCs
Public VIFAWS PublicYesS3, DynamoDB access
Transit VIFDXGW → TGWYesMany VPCs, hub-spoke

Max VIFs per DX Connection:

Dedicated vs Hosted Connections

FeatureDedicated ConnectionHosted Connection
Port OwnershipYou ownPartner owns
Bandwidth1/10/100 Gbps50 Mbps - 10 Gbps
Lead Time1-2 monthsDays to weeks
VIFsUp to 50 private, 50 public, 1 transitLimited by partner
MACsecAvailable (10G/100G)Not available
ProvisioningRequest via AWS (LOA)Via DX Partner

High Availability Pattern: DX + VPN Backup

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                      AWS CLOUD                                          │
│                                                                                         │
│   ┌───────────────────────────────────────────────────────────────────────────────────┐ │
│   │                              VPC (10.0.0.0/16)                                    │ │
│   └─────────────────────────────────────────┬─────────────────────────────────────────┘ │
│                                             │                                           │
│                               ╔═════════════╧═════════════╗                             │
│                               ║     Transit Gateway       ║                             │
│                               ╚═══════╤═══════════╤═══════╝                             │
│                                       │           │                                     │
│                          ┌────────────┘           └────────────┐                        │
│                          │                                     │                        │
│              ┌───────────┴───────────┐             ┌───────────┴───────────┐            │
│              │   DX Attachment       │             │   VPN Attachment      │            │
│              │   (Primary)           │             │   (Backup)            │            │
│              └───────────┬───────────┘             └───────────┬───────────┘            │
│                          │                                     │                        │
│              ┌───────────┴───────────┐                         │                        │
│              │   Direct Connect GW   │                         │                        │
│              └───────────┬───────────┘                         │                        │
│                          │                                     │                        │
│                 Transit VIF                           ╔════════╧════════╗               │
│                          │                            ║  Site-to-Site   ║               │
│                          │                            ║      VPN        ║               │
│                          │                            ╚════════╤════════╝               │
└──────────────────────────┼─────────────────────────────────────┼────────────────────────┘
                           │                                     │
     ┌─────────────────────┴─────────────────────┐               │
     │            DX Location                    │               │
     │  ┌─────────────────────────────────────┐  │               │
     │  │ AWS Router ◄═══════► Your Router    │  │               │
     │  │            10 Gbps                  │  │          INTERNET
     │  └─────────────────────────────────────┘  │               │
     └─────────────────────┬─────────────────────┘               │
                           │                                     │
                           │    Private WAN                      │
                           │                                     │
┌──────────────────────────┴─────────────────────────────────────┴─────────────────────────┐
│                                  ON-PREMISES                                             │
│                                                                                          │
│    ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│    │                            Core Router (BGP)                                    │   │
│    │                              ASN: 65000                                         │   │
│    │                                                                                 │   │
│    │   DX Routes (preferred):          VPN Routes (backup):                          │   │
│    │   • LOCAL_PREF: 200               • LOCAL_PREF: 100                             │   │
│    │        ▲                                ▲                                       │   │
│    │        │                                │                                       │   │
│    │        └── PREFERRED ──────────────────►│◄── BACKUP (failover)                  │   │
│    └─────────────────────────────────────────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────────────────────────────────────────┘

                         ┌─────────────────────────────────────┐
                         │        FAILOVER BEHAVIOR            │
                         ├─────────────────────────────────────┤
                         │  Normal: Traffic via DX (low        │
                         │          latency, high bandwidth)   │
                         │                                     │
                         │  DX Fail: BGP detects failure,      │
                         │           routes shift to VPN       │
                         │           (~30-60 sec failover)     │
                         │                                     │
                         │  DX Recovery: Traffic returns       │
                         │              to DX path             │
                         └─────────────────────────────────────┘

Architecture Patterns

Pattern 1: Small/Medium Business (VPN Only)

Best For:

On-Premises ──► Site-to-Site VPN ──► VGW ──► Single VPC

Pattern 2: Multi-VPC with Transit Gateway

Best For:

                    ┌──► VPC-Prod
On-Premises ──► TGW ├──► VPC-Dev
                    ├──► VPC-Staging
                    └──► VPC-Shared

Pattern 3: Enterprise Multi-Region with Direct Connect

Best For:

                              ┌──► TGW (us-east-1) ──► VPCs
On-Premises ──► DX ──► DXGW ──┤
                              └──► TGW (eu-west-1) ──► VPCs

Pattern 4: Global Enterprise with Cloud WAN

Best For:

                    ┌──► CNE (us-east-1) ──► VPCs
Core Network Policy ├──► CNE (eu-west-1) ──► VPCs
                    └──► CNE (ap-southeast-1) ──► VPCs

Decision Matrices

VPC Connectivity Decision

ScenarioRecommended Solution
2-3 VPCs, no transitive routingVPC Peering
4+ VPCs, same regionTransit Gateway
Multi-region, manual controlTGW + TGW Peering
Multi-region, central managementCloud WAN

On-Premises Connectivity Decision

ScenarioRecommended Solution
Quick PoC, < 1 GbpsSite-to-Site VPN → VGW
Better VPN performanceAccelerated VPN
Higher VPN bandwidthVPN → TGW (ECMP)
Consistent latency, single VPCDX → VGW
Multi-VPC, single regionTGW
Multi-VPC, multi-region via DXDX → DXGW → VGWs
Multi-VPC, transitive via DXDX → DXGW → TGW
Global enterpriseCloud WAN

Direct Connect Termination Decision

ScenarioSolution
1 VPCPrivate VIF → VGW
2-10 VPCs (no transitive)Private VIF → DXGW → VGWs
Many VPCs (transitive needed)Transit VIF → DXGW → TGW
Global scale, policy-drivenTransit VIF → DXGW → Cloud WAN

Complete Reference Table

RequirementSolutionBandwidthSetup TimeCost Level
Quick PoC, single VPCVPN → VGW1.25 GbpsHours$
Better VPN performanceAccelerated VPN1.25 GbpsHours$$
Higher VPN bandwidthVPN → TGW (ECMP)Up to 50 GbpsHours$$
Consistent latency, single VPCDX → VGW1-100 GbpsWeeks/Months$$$
Multi-VPC, single regionTGW50 Gbps/AZHours$$
Multi-VPC, multi-region via DXDX → DXGW → VGWs1-100 GbpsWeeks/Months$$$
Multi-VPC, transitive via DXDX → DXGW → TGW1-100 GbpsWeeks/Months$$$$
Global enterpriseCloud WANVariesDays$$$$
Service exposure (private)PrivateLinkScales with NLBHours$$
Remote user accessClient VPNVariesHours$$

Limits Quick Reference

ResourceLimitNotes
VPC Peering per VPC125Increasable
TGW Attachments5,000Per TGW
TGW per Region5Increasable
VGWs per DXGW10Across all regions
TGWs per DXGW3Across all regions
Private VIFs per DX50Per connection
Public VIFs per DX50Per connection
Transit VIFs per DX1Per DXGW
VPN Tunnels to TGW10050 connections × 2
Client VPN concurrent connections2,000Per endpoint
Cloud WAN segments16Per core network

Key Relationships Summary

    ON-PREMISES                           AWS
    ───────────                           ───

    ┌─────────┐                      ┌─────────┐
    │Physical │  ─── represents ───► │   CGW   │     (Customer Gateway - logical)
    │Router   │                      │         │
    └─────────┘                      └─────────┘
         │                                │
         │ VPN Tunnel                     │ VPN Connection
         │                                │
         ▼                                ▼
    ┌─────────┐                      ┌─────────┐
    │         │  ─── terminates ───► │   VGW   │     (1 VPC only)
    │         │         at           │   or    │
    │         │                      │   TGW   │     (Multiple VPCs)
    └─────────┘                      └─────────┘


    ┌─────────┐                      ┌─────────┐
    │Physical │  ─── connects ─────► │   DX    │     (Physical Connection)
    │Router   │     via fiber        │Location │
    └─────────┘                      └─────────┘
         │                                │
         │                                │ VIF (Virtual Interface)
         │                                │
         │                                ▼
         │                           ┌─────────┐
         │                           │ Private │───► VGW or DXGW ───► VPCs
         │                           │   VIF   │
         │                           ├─────────┤
         │                           │ Transit │───► DXGW ───► TGW ───► VPCs
         │                           │   VIF   │
         │                           ├─────────┤
         │                           │ Public  │───► AWS Public Services
         │                           │   VIF   │
         │                           └─────────┘

Further Reading