Should you move?
| Signal | Points to |
|---|---|
| Many regions, many branches (SD-WAN, VPN), any-to-any routing needed | Virtual WAN |
| One or two regions, few connections, heavy custom routing (NVAs, UDR tricks) | Keep hub-spoke |
| Team spends too much time on UDRs and gateway transit | Virtual WAN |
| Need features not supported in vWAN hubs | Keep hub-spoke for now |
Virtual WAN makes Microsoft manage the hub router, gateways and transit. You give up some control in exchange for much less routing work.
1. Design
- One virtual hub per region with a non-overlapping /23 or larger hub prefix.
- Routing intent with Azure Firewall (secured hub) to inspect private and/or internet traffic, instead of hand-built route tables.
- Gateways inside the hub: ExpressRoute, site-to-site VPN, point-to-site.
- DNS: keep a DNS Private Resolver in a shared-services spoke; vWAN hubs don't host custom DNS.
2. Build the vWAN side in parallel
az network vwan create -g rg-vwan -n vwan-prod --type Standard
az network vhub create -g rg-vwan -n vhub-weu --vwan vwan-prod --address-prefix 10.100.0.0/23 -l westeurope
Deploy the firewall in the hub and enable routing intent from Firewall Manager or IaC.
3. Migrate in phases
- Connect old hub to new hub temporarily (connect the old hub VNet as a spoke of the vHub, or use a VNet connection plus static routes) so both worlds can talk.
- Move spokes one by one: remove the peering to the old hub, add a vHub connection, remove UDRs that pointed at the old firewall.
- Move on-premises connectivity: connect the ExpressRoute circuit to the vHub ER gateway, then remove it from the old gateway. Do branches in a maintenance window.
- Decommission the old hub gateway, firewall and route tables.
az network vhub connection create -g rg-vwan --vhub-name vhub-weu -n conn-spoke-app \
--remote-vnet /subscriptions/<sub>/resourceGroups/rg-app/providers/Microsoft.Network/virtualNetworks/vnet-app
Warning
A spoke can't be peered to the old hub (with gateway transit) and connected to the vHub at the same time. Plan a short window per spoke and test reachability both ways right after.
4. Validate routing
az network vhub get-effective-routes -g rg-vwan -n vhub-weu \
--resource-type HubVirtualNetworkConnection \
--resource-id <connection-id> -o table
Check: spoke-to-spoke traffic goes through the firewall (if intended), on-premises prefixes are learned, and internet egress follows routing intent.
5. Operate
- Monitor hub router and gateway metrics; enable firewall diagnostics.
- Use Network Watcher Connection Monitor tests between key spokes and on-premises.
Checklist
- Hub prefixes and routing intent design approved
- Old-to-new interconnect tested before moving any spoke
- UDRs removed from migrated spokes
- ExpressRoute and VPN moves done in maintenance windows with rollback
- Old hub resources removed and costs dropped