AWS Cloud WAN - Step-by-Step Explanation


What is AWS Cloud WAN and how does it work?

Step 1: The Problem It Solves

Before Cloud WAN, connecting multiple networks was complex:

Traditional Approach:
┌─────────┐    ┌─────────┐    ┌─────────┐
│  VPC 1  │────│  VPC 2  │────│  VPC 3  │
└─────────┘    └─────────┘    └─────────┘
     │              │              │
     └──────────────┼──────────────┘

            Manual peering,
            route tables,
            Transit Gateways...

Problems:
• Complex routing configurations
• Manual management per region
• No centralized policy
• Difficult to scale

Step 2: What is AWS Cloud WAN?

AWS Cloud WAN is a managed service that lets you build, manage, and monitor a unified global network connecting your:

┌────────────────────────────────────────────┐
│           AWS Cloud WAN                    │
│  "One network to connect everything"       │
│                                            │
│  • Centralized management                  │
│  • Policy-driven                           │
│  • Global reach                            │
│  • Automated routing                       │
└────────────────────────────────────────────┘

Step 3: Core Components

3.1 Global Network

The top-level container for your entire network.

┌─────────────────────────────────────────────┐
│            GLOBAL NETWORK                   │
│  (Your entire network infrastructure)       │
└─────────────────────────────────────────────┘

3.2 Core Network

The managed part within the global network that Cloud WAN creates and manages.

┌─────────────────────────────────────────────┐
│            GLOBAL NETWORK                   │
│  ┌───────────────────────────────────────┐  │
│  │         CORE NETWORK                  │  │
│  │    (AWS managed infrastructure)       │  │
│  └───────────────────────────────────────┘  │
└─────────────────────────────────────────────┘

3.3 Core Network Policy

A JSON document that defines HOW your network should behave.

{
  "version": "2021.12",
  "core-network-configuration": {
    "asn-ranges": ["64512-65534"],
    "edge-locations": [
      { "location": "us-east-1" },
      { "location": "eu-west-1" }
    ]
  },
  "segments": [...],
  "attachment-policies": [...]
}

Step 4: Understanding Segments

Segments are isolated routing domains (like virtual networks within your network).

┌────────────────── CORE NETWORK ──────────────────┐
│                                                  │
│  ┌─────────────┐  ┌─────────────┐  ┌───────────┐ │
│  │ PRODUCTION  │  │ DEVELOPMENT │  │  SHARED   │ │
│  │  SEGMENT    │  │   SEGMENT   │  │  SERVICES │ │
│  │             │  │             │  │  SEGMENT  │ │
│  │  VPC-A      │  │  VPC-C      │  │  VPC-E    │ │
│  │  VPC-B      │  │  VPC-D      │  │           │ │
│  └─────────────┘  └─────────────┘  └───────────┘ │
│        ↑                ↑               ↑        │
│        └────── Isolated from each other ─────┘   │
└──────────────────────────────────────────────────┘

Why Segments?

PurposeDescription
IsolationProduction traffic never mixes with Development
SecurityApply different policies per segment
OrganizationLogical grouping of resources

Step 5: Attachments

Attachments connect your resources TO the Core Network.

Types of Attachments:

┌─────────────────────────────────────────────────────┐
│                                                     │
│   ┌─────┐     ┌─────────┐     ┌──────────────────┐  │
│   │ VPC │     │ VPN     │     │ Transit Gateway  │  │
│   │     │     │         │     │ Route Table      │  │
│   └──┬──┘     └────┬────┘     └────────┬─────────┘  │
│      │             │                   │            │
│      └─────────────┼───────────────────┘            │
│                    │                                │
│                    ▼                                │
│           ┌───────────────┐                         │
│           │ CORE NETWORK  │                         │
│           └───────────────┘                         │
└─────────────────────────────────────────────────────┘

Step 6: How Routing Works

Attachment Policy

Automatically assigns attachments to segments based on tags.

Example Policy Logic:

┌────────────────────────────────────────────────────┐
│                                                    │
│  IF VPC has tag "environment=production"           │
│     → Attach to PRODUCTION segment                 │
│                                                    │
│  IF VPC has tag "environment=development"          │
│     → Attach to DEVELOPMENT segment                │
│                                                    │
│  ELSE                                              │
│     → Attach to DEFAULT segment                    │
│                                                    │
└────────────────────────────────────────────────────┘

Segment Sharing

You can allow segments to communicate:

Before Sharing:                 After Sharing:

┌──────┐    ┌──────┐           ┌──────┐ ←──→ ┌──────┐
│ PROD │ ✗  │SHARED│           │ PROD │      │SHARED│
└──────┘    └──────┘           └──────┘      └──────┘
   No communication              Routes shared!

Step 7: Multi-Region Architecture

Cloud WAN automatically handles cross-region connectivity:

                    ┌─────────────────────┐
                    │    CORE NETWORK     │
                    │   (Global Reach)    │
                    └─────────────────────┘

        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
        ▼                     ▼                     ▼
  ┌──────────┐          ┌──────────┐          ┌──────────┐
  │us-east-1 │◄────────►│eu-west-1 │◄────────►│ap-south-1│
  │   CNE    │          │   CNE    │          │   CNE    │
  └────┬─────┘          └────┬─────┘          └────┬─────┘
       │                     │                     │
   ┌───┴───┐             ┌───┴───┐             ┌───┴───┐
   │VPC-US │             │VPC-EU │             │VPC-AP │
   └───────┘             └───────┘             └───────┘

   All connected automatically via AWS backbone!

Step 8: Complete Architecture Example

┌─────────────────────────────────────────────────────────────────┐
│                        GLOBAL NETWORK                           │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                     CORE NETWORK                          │  │
│  │                                                           │  │
│  │   ┌─────────────────────────────────────────────────┐     │  │
│  │   │              PRODUCTION SEGMENT                 │     │  │
│  │   │   ┌─────┐  ┌─────┐  ┌─────┐                     │     │  │
│  │   │   │VPC-A│  │VPC-B│  │VPC-C│                     │     │  │
│  │   │   └─────┘  └─────┘  └─────┘                     │     │  │
│  │   └─────────────────────────────────────────────────┘     │  │
│  │                                                           │  │
│  │   ┌─────────────────────────────────────────────────┐     │  │
│  │   │              SHARED SERVICES SEGMENT            │     │  │
│  │   │   ┌──────────┐  ┌──────────┐                    │     │  │
│  │   │   │   DNS    │  │ Logging  │                    │     │  │
│  │   │   └──────────┘  └──────────┘                    │     │  │
│  │   └─────────────────────────────────────────────────┘     │  │
│  │                                                           │  │
│  │   ┌─────────────────────────────────────────────────┐     │  │
│  │   │              ON-PREMISES CONNECTION             │     │  │
│  │   │   ┌─────────────┐                               │     │  │
│  │   │   │ VPN / DX    │ ←── Data Center               │     │  │
│  │   │   └─────────────┘                               │     │  │
│  │   └─────────────────────────────────────────────────┘     │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

Step 9: Key Benefits Summary

BenefitDescription
Centralized ManagementSingle place to manage global network
Policy-DrivenDefine rules once, apply everywhere
Automated RoutingNo manual route table management
SegmentationBuilt-in network isolation
Global ReachConnect any AWS region easily
VisibilityBuilt-in monitoring and metrics

Step 10: When to Use Cloud WAN?

Good fit:

Maybe overkill for:

Quick Comparison

FeatureTransit GatewayCloud WAN
ScopeSingle RegionGlobal
ManagementPer-regionCentralized
SegmentationRoute tablesNative segments
Policy-basedNoYes
ComplexityManualAutomated

What is a Core Network Edge (CNE) and how does it relate to regions?

CNE (Core Network Edge) is essentially the Cloud WAN presence in a specific AWS region. It’s the regional component that handles connectivity for that region.

What is a Core Network Edge (CNE)?

CNE is Cloud WAN’s regional presence - it’s the actual infrastructure deployed in each AWS region where you want connectivity.

Think of it as:

┌─────────────────────────────────────────────────┐
│                                                 │
│   CNE = Cloud WAN's "branch office" in a region │
│                                                 │
└─────────────────────────────────────────────────┘

How CNEs Work Across Regions

                        AWS Global Backbone
                    (Private, high-speed network)

        ┌──────────────────────┼──────────────────────┐
        │                      │                      │
        ▼                      ▼                      ▼
  ┌──────────┐           ┌──────────┐           ┌──────────┐
  │   CNE    │◄─────────►│   CNE    │◄─────────►│   CNE    │
  │us-east-1 │           │eu-west-1 │           │ap-south-1│
  └────┬─────┘           └────┬─────┘           └────┬─────┘
       │                      │                      │
   ┌───┴───┐              ┌───┴───┐              ┌───┴───┐
   │       │              │       │              │       │
┌──┴─┐  ┌──┴─┐         ┌──┴─┐  ┌──┴─┐         ┌──┴─┐  ┌──┴─┐
│VPC │  │VPN │         │VPC │  │VPC │         │VPC │  │TGW │
└────┘  └────┘         └────┘  └────┘         └────┘  └────┘

Key Points

AspectDescription
One CNE per regionEach enabled region gets one CNE
Automatic connectivityCNEs connect via AWS backbone (no manual setup)
Attachments connect to CNEVPCs, VPNs attach to their local region’s CNE
You choose regionsDefine which regions in your Core Network Policy

Defining Regions in Policy

{
  "core-network-configuration": {
    "edge-locations": [
      { "location": "us-east-1" },   // ← CNE created here
      { "location": "eu-west-1" },   // ← CNE created here
      { "location": "ap-south-1" }   // ← CNE created here
    ]
  }
}

Simple Analogy

┌─────────────────────────────────────────────────────────┐
│                                                         │
│   Cloud WAN Core Network  =  Airline Network            │
│   CNE                     =  Airport Hub in each city   │
│   AWS Backbone            =  Flight routes between hubs │
│   Attachments (VPC/VPN)   =  Local roads to airport     │
│                                                         │
└─────────────────────────────────────────────────────────┘

    New York          London            Mumbai
    Airport    ✈────► Airport   ✈────►  Airport
       │                 │                 │
    Local roads      Local roads      Local roads
       │                 │                 │
    Your home        Office           Data center

How does routing work between CNEs?

When you attach resources (VPCs, VPNs) to Cloud WAN, routes are automatically propagated across CNEs based on your segment configuration.

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│   Routes flow automatically between CNEs via AWS backbone   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Step 1: Route Propagation Within a Segment

When a VPC attaches to a segment, its CIDR is advertised to all CNEs in that segment.

PRODUCTION Segment (same segment = routes shared automatically)

us-east-1                                      eu-west-1
  ┌────────┐                                     ┌────────┐
  │  CNE   │◄───────── AWS Backbone ────────────►│  CNE   │
  └───┬────┘                                     └───┬────┘
      │                                              │
      │  Route Table:                                │  Route Table:
      │  ┌────────────────────┐                      │  ┌────────────────────┐
      │  │ 10.1.0.0/16 →local │                      │  │ 10.1.0.0/16 →us-e1 │
      │  │ 10.2.0.0/16 →eu-w1 │ ◄── Learned          │  │ 10.2.0.0/16 →local │
      │  └────────────────────┘                      │  └────────────────────┘
      │                                              │
  ┌───┴───┐                                      ┌───┴───┐
  │ VPC-A │                                      │ VPC-B │
  │10.1.0 │                                      │10.2.0 │
  │ .0/16 │                                      │ .0/16 │
  └───────┘                                      └───────┘

     VPC-A can reach VPC-B automatically! ✓

Step 2: Segment Isolation (Default Behavior)

By default, different segments CANNOT communicate - routes stay within their segment.

                          us-east-1 CNE
┌────────────────────────────────────────────────┐
│                                                │
│   PRODUCTION Segment    DEVELOPMENT Segment    │
│   ┌─────────────────┐   ┌─────────────────┐    │
│   │ Routes:         │   │ Routes:         │    │
│   │ 10.1.0.0/16     │   │ 10.3.0.0/16     │    │
│   │ 10.2.0.0/16     │   │ 10.4.0.0/16     │    │
│   └────────┬────────┘   └────────┬────────┘    │
│            │                     │             │
│            │        ✗            │             │
│            │   NO ROUTES         │             │
│            │   EXCHANGED         │             │
│            │                     │             │
└────────────┼─────────────────────┼─────────────┘
             │                     │
         ┌───┴───┐             ┌───┴───┐
         │ VPC-A │             │ VPC-C │
         │ PROD  │      ✗      │  DEV  │
         └───────┘  Can't talk └───────┘

Step 3: Enabling Cross-Segment Routing (Segment Sharing)

You can allow segments to share routes using segment actions in your policy.

{
  "segments": [
    { "name": "production", "isolate-attachments": false },
    { "name": "shared-services", "isolate-attachments": false }
  ],
  "segment-actions": [
    {
      "action": "share",
      "mode": "attachment-route",
      "segment": "shared-services",
      "share-with": ["production"]   // ← Share routes with production
    }
  ]
}

Result After Sharing:

                          us-east-1 CNE
┌─────────────────────────────────────────────────────────┐
│                                                         │
│   PRODUCTION Segment       SHARED-SERVICES Segment      │
│   ┌───────────────────┐    ┌───────────────────┐        │
│   │ Routes:           │    │ Routes:           │        │
│   │ 10.1.0.0/16 (own) │    │ 10.5.0.0/16 (own) │        │
│   │ 10.5.0.0/16 ──────┼────┼─► (shared)        │        │
│   └─────────┬─────────┘    └─────────┬─────────┘        │
│             │                        │                  │
│             │    Routes shared! ✓    │                  │
│             │                        │                  │
└─────────────┼────────────────────────┼──────────────────┘
              │                        │
          ┌───┴───┐                ┌───┴───┐
          │ VPC-A │                │ VPC-E │
          │ PROD  │ ──────────────►│SHARED │
          └───────┘   Can reach!   └───────┘
                      (DNS, Auth,
                       Logging, etc.)

Step 4: Complete Multi-Region Routing Example

                        PRODUCTION SEGMENT
─────────────────────────────────────────────────────────

us-east-1                                    eu-west-1
┌──────────────┐                            ┌──────────────┐
│     CNE      │                            │     CNE      │
│              │                            │              │
│ Route Table: │      AWS Backbone          │ Route Table: │
│┌────────────┐│◄──────────────────────────►│┌────────────┐│
││10.1.0.0/16 ││        Routes              ││10.1.0.0/16 ││
││  → local   ││      Propagate             ││  → us-e1   ││
││10.2.0.0/16 ││     Automatically          ││10.2.0.0/16 ││
││  → eu-w1   ││                            ││  → local   ││
│└────────────┘│                            │└────────────┘│
└──────┬───────┘                            └──────┬───────┘
       │                                          │
   ┌───┴───┐                                  ┌───┴───┐
   │VPC-A  │                                  │VPC-B  │
   │10.1.0 │                                  │10.2.0 │
   └───────┘                                  └───────┘


                        DEVELOPMENT SEGMENT
─────────────────────────────────────────────────────────

us-east-1                                    eu-west-1
┌──────────────┐                            ┌──────────────┐
│     CNE      │                            │     CNE      │
│              │                            │              │
│ Route Table: │      AWS Backbone          │ Route Table: │
│┌────────────┐│◄──────────────────────────►│┌────────────┐│
││10.3.0.0/16 ││        Routes              ││10.3.0.0/16 ││
││  → local   ││      Propagate             ││  → us-e1   ││
││10.4.0.0/16 ││     Automatically          ││10.4.0.0/16 ││
││  → eu-w1   ││                            ││  → local   ││
│└────────────┘│                            │└────────────┘│
└──────┬───────┘                            └──────┬───────┘
       │                                          │
   ┌───┴───┐                                  ┌───┴───┐
   │VPC-C  │                                  │VPC-D  │
   │10.3.0 │                                  │10.4.0 │
   └───────┘                                  └───────┘


PROD VPCs can talk to each other    ✓
DEV VPCs can talk to each other     ✓
PROD cannot talk to DEV             ✗ (isolated)

Step 5: Traffic Flow Example

When VPC-A (us-east-1) sends traffic to VPC-B (eu-west-1):

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  Step 1: VPC-A sends packet to 10.2.0.50                        │
│                                                                 │
│  ┌───────┐                                                      │
│  │ VPC-A │ ──► Packet: src=10.1.0.10, dst=10.2.0.50             │
│  └───┬───┘                                                      │
│      │                                                          │
│      ▼                                                          │
│  Step 2: Reaches CNE, looks up route table                      │
│                                                                 │
│  ┌─────────────────┐                                            │
│  │ us-east-1 CNE   │                                            │
│  │                 │                                            │
│  │ 10.2.0.0/16     │                                            │
│  │   → eu-west-1   │ ◄── Route says: send to eu-west-1          │
│  └────────┬────────┘                                            │
│           │                                                     │
│           ▼                                                     │
│  Step 3: Travels via AWS Backbone                               │
│                                                                 │
│      ═══════════════════════════════════                        │
│           AWS Global Backbone Network                           │
│      ═══════════════════════════════════                        │
│                      │                                          │
│                      ▼                                          │
│  Step 4: Arrives at eu-west-1 CNE                               │
│                                                                 │
│  ┌─────────────────┐                                            │
│  │ eu-west-1 CNE   │                                            │
│  │                 │                                            │
│  │ 10.2.0.0/16     │                                            │
│  │   → local       │ ◄── Route says: deliver locally            │
│  └────────┬────────┘                                            │
│           │                                                     │
│           ▼                                                     │
│  Step 5: Delivered to VPC-B                                     │
│                                                                 │
│  ┌───────┐                                                      │
│  │ VPC-B │ ◄── Packet arrives at 10.2.0.50                      │
│  └───────┘                                                      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Summary Table

Routing BehaviorDescription
Within SegmentRoutes auto-propagate across all regions
Between SegmentsIsolated by default, need explicit sharing
Cross-RegionAutomatic via AWS backbone
Route AdvertisementVPC CIDRs advertised when attached
No Manual RoutesCloud WAN handles everything

Key Takeaways

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1. Same segment    → Routes shared automatically           │
│  2. Diff segments   → Isolated (unless you share)           │
│  3. Cross-region    → Automatic via AWS backbone            │
│  4. You control     → Segment sharing via policy            │
│                                                             │
└─────────────────────────────────────────────────────────────┘