Cloud Compare / Networking compared

Networking compared

VPC networks, VPCs and VNets side by side: subnets, routing, NAT, peering, hybrid links, load balancers, DNS and private access in Google Cloud, AWS and Azure.

The three clouds build networks from the same ideas (private address space, subnets, routes, gateways, load balancers, DNS), but they draw the boundaries differently. The biggest difference: a Google Cloud VPC network is global, while AWS VPCs and Azure virtual networks are regional. Most other differences follow from that.

The guides behind each column: Google Cloud, AWS and Azure. For protection (firewalls, WAF, DDoS), see Network protection compared.

The private network

ConceptGoogle CloudAWSAzure
Private networkVPC network, global: one network spans every regionVPC, one regionVirtual network (VNet), one region
Subnet scopeOne region, all its zonesOne Availability ZoneOne region, all its zones
Address spaceDefined per subnet; add ranges any timeCIDR blocks on the VPC, subnets carved from themAddress spaces on the VNet, subnets carved from them
Ready-made networkdefault auto-mode network in each new project (turn off by org policy)Default VPC in each region of each accountNone
Container for the networkProject (or a Shared VPC host project)AccountSubscription and resource group
Share one network with other teamsShared VPC: service projects use the host project's subnetsVPC sharing through AWS RAM: other accounts use your subnetsUsually not shared: each team gets its own VNet, peered to a hub
Reserved addresses per subnet455

What it means in practice. In Google Cloud, a multi-region application can live in one network with one set of firewall rules, and VMs in different regions talk over internal IPs with no peering. In AWS and Azure, the same design needs a network per region, connected by peering or a transit service. In AWS, put a subnet in each Availability Zone you use; in Google Cloud and Azure, one subnet already covers every zone in its region.

Routing and internet access

ConceptGoogle CloudAWSAzure
RoutesNetwork-wide routes (system, custom static, dynamic, policy-based), optionally scoped by network tagRoute table per subnetSystem routes plus a route table (UDR) per subnet
Dynamic routing (BGP)Cloud RouterVirtual private gateway or Transit GatewayVPN / ExpressRoute gateway; Azure Route Server
Inbound from the internetExternal IP on the VM or load balancerInternet gateway on the VPC, plus a public or Elastic IPPublic IP on the VM or load balancer
Outbound for private VMsCloud NAT (regional, software-defined, no appliance)NAT gateway (per AZ)NAT Gateway (per subnet); new VNets have no default outbound access
Outbound IPv6 onlyFirewall rules on IPv6Egress-only internet gatewayNSG rules on IPv6
Block all internet exposure centrallyOrg policies (no external IPs) and hierarchical firewall policiesVPC Block Public Access; SCPsAzure Policy (deny public IPs); private subnets

Connecting networks

ConceptGoogle CloudAWSAzure
Peering two networksVPC Network PeeringVPC peering (same or other region)VNet peering (regional or global)
Transitive?NoNoNo (unless routed through a hub appliance or Virtual WAN)
Hub and spoke at scaleNetwork Connectivity CenterTransit Gateway; AWS Cloud WAN for globalVirtual WAN, or a hub VNet; Azure Virtual Network Manager for topologies
Site-to-site VPNHA VPN (Cloud VPN)Site-to-Site VPNVPN Gateway
Private dedicated linkCloud Interconnect (Dedicated or Partner)Direct ConnectExpressRoute
Cloud-to-cloud linkCross-Cloud Interconnect (to AWS, Azure, Oracle, Alibaba)Direct Connect through a partner or colocation providerVia ExpressRoute partners

Load balancing and delivery

NeedGoogle CloudAWSAzure
Global HTTP(S) entry point with one anycast IPGlobal external Application Load BalancerCloudFront in front of ALBs; Global Accelerator for one static anycast IPFront Door
Regional HTTP(S) load balancerRegional external / internal Application Load BalancerApplication Load BalancerApplication Gateway
Layer 4 (TCP/UDP)Passthrough or proxy Network Load BalancerNetwork Load BalancerAzure Load Balancer
Insert third-party appliancesInternal passthrough NLB as next hop; Packet MirroringGateway Load BalancerGateway Load Balancer
Global DNS-based balancingCloud DNS routing policiesRoute 53 routing policiesTraffic Manager
CDNCloud CDN, Media CDNCloudFrontFront Door (the classic Azure CDN offerings are being retired)
Where the WAF attachesCloud Armor on the load balancer's backend serviceAWS WAF on CloudFront, ALB, API Gateway and othersAzure WAF on Front Door or Application Gateway

DNS

ConceptGoogle CloudAWSAzure
Public zonesCloud DNS public zonesRoute 53 public hosted zonesAzure DNS zones
Private zonesCloud DNS private zones, visible to chosen VPC networksRoute 53 private hosted zones, associated with VPCsPrivate DNS zones, linked to VNets
Hybrid DNS with on-premisesForwarding zones, DNS server policies (inbound forwarding)Route 53 Resolver inbound and outbound endpointsAzure DNS Private Resolver
Example zone used in these notesgcp.ravindran.inaws.ravindran.in–

Private access to cloud services

NeedGoogle CloudAWSAzure
Reach the provider's APIs without public IPsPrivate Google Access (subnet setting, free)Gateway endpoints (S3, DynamoDB, free) or interface endpointsService endpoints (free) or private endpoints
Give a service a private IP in your networkPrivate Service Connect endpoints; private services access for Cloud SQL and similarInterface endpoints (PrivateLink)Private endpoints (Private Link)
Publish your own service privately to other networksPrivate Service Connect service attachmentPrivateLink endpoint servicePrivate Link service
DNS for private accessAutomatic for PSC; private zones for Google APIsPrivate DNS on the interface endpointPrivate DNS zones such as privatelink.blob.core.windows.net (the usual source of problems)

Visibility and troubleshooting

NeedGoogle CloudAWSAzure
Flow recordsVPC Flow Logs (per subnet or network)VPC Flow Logs (VPC, subnet or interface)Virtual network flow logs (NSG flow logs retire 30 Sep 2027)
"Why can't A reach B?"Connectivity TestsReachability AnalyzerNetwork Watcher: IP flow verify, connection troubleshoot
Find unintended exposureFirewall Insights; Security Command CenterNetwork Access AnalyzerDefender for Cloud network recommendations
Copy packets to a toolPacket MirroringTraffic MirroringNetwork Watcher packet capture; virtual network TAP
Effective rules on one VMgcloud compute instances network-interfaces get-effective-firewallsSecurity groups on the interface (no single effective view with NACLs)Get-AzEffectiveNetworkSecurityGroup

Design tips that carry across

  • Plan address space once, for every cloud and on-premises. Overlapping ranges are the one networking mistake that's really expensive to fix later. These notes use 10.10.0.0/16 (Azure), 10.20.0.0/16 (AWS) and 10.30.0.0/16 (Google Cloud) for that reason.
  • Hub and spoke everywhere. Shared services (DNS, egress, inspection, hybrid links) in a hub; workloads in spokes. Shared VPC, Transit Gateway and Virtual WAN are each cloud's way of doing it.
  • Private by default. No public IPs on servers, outbound through managed NAT, platform services through private endpoints. Each cloud has a policy to enforce it.
  • Turn on flow logs and keep a connectivity-test habit. All three have a tool that answers "is it the firewall?" in a minute.

Compared as of October 2026. Service names, tiers and prices change; check the provider's documentation before deciding.