Skip to main content

Network Foundation

Networking is where landing zones most often go wrong quietly. The topology usually gets attention; DNS usually does not — and a private endpoint without a DNS plan is a workload that fails intermittently for reasons nobody can explain. This page defines a network foundation where traffic paths are understandable and public exposure is the exception.

Purpose

This page defines the network foundation for the platform: topology, address space, routing, egress, DNS, private endpoints, and hybrid connectivity — all anchored in a dedicated connectivity subscription.

Design Reasoning

Hub-spoke is the topology the Cloud Adoption Framework recommends, and the right default when you need shared services, centralized ingress and egress control, network security, and hybrid connectivity. A central hub VNet hosts shared services; workload spokes peer to it.

Azure Virtual WAN is the better fit when the environment has multiple regions, many branch sites, ExpressRoute or VPN connectivity at scale, and a need for Microsoft-managed transitive routing. It trades some control of the hub for managed scale.

For a very small environment with no hybrid connectivity and no multiple isolated workload networks, a single simpler VNet can be a temporary step. Treat that as a pragmatic, documented simplification — not the standard landing zone target.

One Virtual WAN nuance worth knowing

Azure NAT Gateway, which you would use to scale outbound SNAT in a standard hub-spoke, is not supported in a Virtual WAN managed hub. Outbound design differs between the two topologies, so decide topology before you design egress.

Architecture Decision Record

DecisionChoiceRationale
Default topology (SME)Hub-spoke with a connectivity subscriptionSupports shared services, centralized egress control, hybrid connectivity, and landing-zone-compatible workload isolation.
DNS for private endpointsCentral private DNS zones + DNS Private ResolverPrivate endpoints are unreliable without a deliberate DNS plan; central zones plus a resolver make name resolution predictable across Azure and on-premises.

Tradeoff: Hub-spoke centralizes egress and inspection, which adds a hop and a shared component to operate. The benefit is one place to control, inspect, and log outbound traffic instead of per-workload exceptions.

AreaRecommendation
TopologyHub-spoke by default; Virtual WAN for multi-region or hybrid scale
Connectivity subscriptionHub VNet or Virtual WAN, firewall, private DNS, resolver, VPN/ExpressRoute
EgressNAT Gateway for standard outbound; Azure Firewall where inspection or central policy is required
DNSCentral private DNS zones; Azure DNS Private Resolver for Azure-to-on-premises resolution
Private endpointsDeploy only with a DNS plan in place
RoutingUse user-defined routes intentionally; avoid route sprawl
SubnetsPurpose-based subnets for workloads, private endpoints, gateways, firewall, Bastion, and shared services

Example Implementation

A hub-spoke foundation, with shared network services in the connectivity subscription and workload spokes peered to the hub:

flowchart LR
subgraph conn[Connectivity subscription]
  H[Hub VNet]
  F[Azure Firewall]
  R[DNS Private Resolver]
  P[Private DNS zones]
  G[VPN or ExpressRoute]
  N[NAT Gateway]
end
subgraph work[Workload subscriptions]
  S1[Production spoke]
  S2[Non-production spoke]
  S3[Sandbox spoke]
end
H --> F
H --> R
H --> P
H --> G
H --> N
S1 --> H
S2 --> H
S3 --> H
Hub-spoke foundation with centralized connectivity, DNS, and egress

Validation Steps

Terminal window
# Inventory the network foundation
az network vnet list --output table
az network private-dns zone list --output table
az network dns-resolver list --output table
az network nat gateway list --output table

Then validate private endpoint DNS behavior — this is the check most often skipped:

Terminal window
nslookup <sql-server-name>.privatelink.database.windows.net
nslookup <storage-account-name>.privatelink.blob.core.windows.net

Confirm that private endpoint FQDNs resolve to private IP addresses, and that on-premises DNS queries are forwarded correctly when hybrid name resolution is required.

Common Mistakes

  • Deploying private endpoints without a DNS strategy — the single most common networking failure.
  • Building a hub with no clear egress or ingress role.
  • Direct spoke-to-spoke peerings created without a clear reason.
  • Expecting customer-managed shared services to run inside a Virtual WAN managed hub.
  • Using Azure Firewall for everything without weighing cost or inspection requirements.
  • Forgetting outbound connectivity planning for private workloads, or mixing workload and private-endpoint subnets without design intent.

References