Architecture, limits & next-hop types across AWS · Azure · GCP
| Resource | AWS | Azure | GCP | Adj. |
|---|---|---|---|---|
| Tables per VPC / network | 200 | 200 / sub | N/A | Yes |
| Routes per table (static) | 500raised from 50, Jun 2025 | 4001,000 with AVNM | 250static per VPC | Yes |
| Dynamic prefixes — own region | → 500 table limit | 4,000 / RS peer | 250 | No |
| Dynamic prefixes — other regions | — | — | 250 | No |
| Max BGP prefixes from single peer | — | 4,000 | 5,000 | — |
| Subnets per VPC / VNet | 200 | No hard limit | No hard limit | Yes / — |
| IPv4 CIDR blocks per VPC / VNet | 5 → 50 | Multiple ranges | 1 primary | Yes / — |
| Next hop | AWS | Azure | GCP | Notes |
|---|---|---|---|---|
| Internet / default route | Internet Gateway | Internet | default-internet-gateway | All auto-create 0/0 |
| NVA / Firewall insertion | ENI / GWLBEGENEVE via GWLBE | VirtualApplianceNIC IP or ILB IP | ILB (passthrough NLB)mandatory for HA | Core inspection path |
| VPN gateway (hybrid) | Virtual Private Gateway | VirtualNetworkGateway | HA VPN tunnel | Hybrid connectivity |
| Transit / hub routing | Transit Gateway | Virtual WAN (hub RT) | NCC hub | Hub-spoke transit |
| VPC / VNet peering | VPC Peering connection | VirtualNetworkPeering | Peering subnet route | Azure: system-only |
| Drop (null route) | Blackhole | None | Policy-based route only | GCP: PBR only |
| Private service access | Gateway Endpoint (S3/DDB) | ServiceEndpoint (system) | Private Service Connect | Bypasses UDR / NVA |
| NAT (outbound) | NAT Gateway | NAT Gateway (not UDR type) | Cloud NAT (not a route NH) | Not a direct NH type |
| Source-aware routing | — | — | Policy-based routes | src + dst + proto |
| IPv6 egress | Egress-only IGW | Internet (IPv6 route) | default-internet-gateway | All support ::/0 |
The local route always wins for intra-VPC traffic. To force subnet-to-subnet traffic via a firewall, you must use GWLBE (GENEVE) or separate VPCs. TGW/VGW cannot override the local route.
400 UDRs per table is the binding constraint in large hub-spokes. Expand to 1,000 via AVNM routing configurations (API 2025-01-01+). Service endpoint routes bypass UDR processing — NVA won't see that traffic.
Cloud Router enforces 250 unique BGP prefixes per region per VPC (from own + from other regions). Routes beyond the limit are silently dropped (not adjustable) using deterministic lexicographic ordering (shorter masks first).