1.2 Virtual Network Peering & Global Peering
Key Takeaways
- Virtual Network Peering connects two VNets over the Microsoft global backbone SDN with line-rate throughput, zero extra hop latency, and no public internet exposure.
- VNet Peering is strictly non-transitive: peering VNet A to Hub VNet B and Hub VNet B to VNet C does NOT enable communication between VNet A and VNet C without a routing NVA and UDRs.
- Gateway transit allows spoke VNets to utilize a shared Virtual Network Gateway in a hub VNet by setting 'AllowGatewayTransit' on the hub peering and 'UseRemoteGateways' on the spoke peering.
- A Virtual Network cannot have 'UseRemoteGateways' enabled if it already contains its own Virtual Network Gateway.
- Peered virtual networks must not have overlapping IPv4 or IPv6 address spaces; however, address spaces can now be added or expanded dynamically without deleting the peering.
Virtual Network Peering & Global Peering
Virtual Network Peering seamlessly connects two Azure Virtual Networks at Layer 3. Once peered, virtual machines and private endpoints across both VNets communicate as if they were residing within the same physical network, utilizing private IP addresses directly.
Peering traffic travels entirely across the high-speed Microsoft global backbone network. It never traverses the public internet, encounters encryption/decryption overhead (unless explicitly configured via MACsec or IPsec), or passes through gateway bottlenecks.
1. Regional vs. Global VNet Peering
Azure supports two geographic scopes of virtual network peering:
- Regional VNet Peering: Interconnects virtual networks residing within the same Azure region (e.g., East US to East US).
- Global VNet Peering: Interconnects virtual networks residing across different Azure regions or different continents (e.g., East US to West Europe or Southeast Asia).
| Capability / Dimension | Regional VNet Peering | Global VNet Peering |
|---|---|---|
| Data Path | Intra-datacenter / intra-region fiber SDN | Microsoft Global Backbone WAN fiber |
| Latency | Sub-millisecond (< 1 ms) | Determined by physical fiber distance between regions |
| Bandwidth | Full VM NIC wire speed (up to 100 Gbps) | Full VM NIC wire speed |
| Gateway Transit Support | Fully supported | Fully supported across all global regions |
| Cross-Subscription / Cross-Tenant | Supported via Azure RBAC | Supported via Azure RBAC |
| Data Transfer Pricing | Ingress and Egress billed at regional rates | Ingress and Egress billed at cross-region / continental rates |
2. Peering Prerequisites & Address Space Mechanics
To establish a successful peering link between two VNets, the following conditions must be satisfied:
- No Overlapping Address Space: The address spaces of the two VNets must not overlap in any IPv4 or IPv6 prefix. Even a single overlapping
/24within a/16block will cause peering creation to fail. - Bidirectional Link Establishment: Peering consists of two independent unidirectional links: VNet-A to VNet-B, and VNet-B to VNet-A. The peering status becomes
Connectedonly when both links are created and point to each other. If one side is deleted, the remaining link transitions toDisconnectedand traffic halts.
+-----------------------------------------------------------------------------+
| BIDIRECTIONAL PEERING STATE MACHINE |
| |
| [VNet-A: 10.1.0.0/16] [VNet-B: 10.2.0.0/16] |
| | | |
| |--- (1) Admin creates link to VNet-B --->| Status: Initiated |
| |<-- (2) Admin creates link to VNet-A ----| Status: Connected |
| |
| Both sides must reach 'Connected' state for SDN route injection! |
+-----------------------------------------------------------------------------+
[!TIP] Dynamic Address Space Modification: Previously, changing or adding an address prefix required tearing down all existing peerings. Modern Azure SDN supports Address Space Sync: you can add a new address prefix to a peered VNet and trigger a synchronization action to inject the new routes into peered VNets without downtime.
3. The Non-Transitive Peering Rule & Inter-Spoke Routing
Virtual network peering is strictly non-transitive across the Azure SDN fabric.
The Non-Transitive Principle
If VNet A is peered to Hub VNet B, and Hub VNet B is peered to VNet C:
- Workloads in VNet A CANNOT communicate with workloads in VNet C through the native peering fabric.
- Azure SDN does not automatically route packets across intermediate peered hops.
+-----------------------------------------------------------------------------+
| NON-TRANSITIVE PEERING LIMITATION |
| |
| [Spoke VNet A] <==== Peered ====> [Hub VNet B] <==== Peered ====> [Spoke VNet C]
| (10.1.0.0/16) (10.0.0.0/16) (10.2.0.0/16)
| | |
| X----------------- Direct Native Traffic BLOCKED -----------------X
| |
| RESOLUTION: Place Azure Firewall / NVA in Hub VNet B + Attach UDR to Spokes
+-----------------------------------------------------------------------------+
Enabling Transitive Inter-Spoke Communication:
To route traffic between Spoke A and Spoke C through the Hub:
- Deploy an Azure Firewall or third-party Network Virtual Appliance (NVA) inside Hub VNet B (e.g., private IP
10.0.1.4). - Associate a User-Defined Route (UDR) table to the subnets in Spoke A with a route for
10.2.0.0/16setting Next Hop Type = Virtual Appliance and Next Hop IP = 10.0.1.4. - Associate a matching UDR table to the subnets in Spoke C for destination
10.1.0.0/16pointing to10.0.1.4. - Enable
AllowForwardedTrafficon the peering configurations between the Hub and the Spokes.
4. Service Chaining: Peering Plus UDRs
Microsoft's term for deliberately steering peered traffic through an intermediate appliance is service chaining, and it is named directly in the AZ-700 objectives. Service chaining is not a switch you turn on — it is the combination of three things you already have:
| Ingredient | Role in the chain |
|---|---|
| VNet peering | Provides the private, non-transitive Layer 3 reachability between hub and spokes |
| A user-defined route | Overrides the direct system route so spoke traffic is sent to the appliance instead of straight to the peer |
| The appliance's next hop | An NVA or Azure Firewall private IP set as Virtual appliance, with IP forwarding enabled on the NVA's NIC |
The canonical hub-and-spoke chain
- Peer Spoke A and Spoke B to the Hub, with
Allow forwarded trafficenabled on the hub side of each peering. - Deploy the firewall or NVA in the hub.
- On each spoke subnet, associate a route table with a UDR for the other spoke's prefix — or
0.0.0.0/0— whose next hop type is Virtual appliance and whose next hop address is the appliance's private IP. - Traffic now flows Spoke A → Hub appliance → Spoke B, giving you inspection, logging, and policy enforcement on east-west traffic that peering alone would have delivered directly.
Gateway transit is the same idea applied to hybrid traffic: instead of chaining through an appliance, the spoke chains through the hub's VPN or ExpressRoute gateway, which is why the two tasks appear in the same blueprint bullet.
[!IMPORTANT] Service chaining needs both halves. Enabling
Allow forwarded trafficwithout a UDR changes nothing — the spokes still take the direct system route to each other. Writing the UDR withoutAllow forwarded trafficon the hub peering causes the hub to drop the forwarded packets. Exam scenarios routinely present one half and ask what is missing.
5. Peering Configuration Flags & Gateway Transit
Every peering link exposes four critical configuration flags that govern routing behavior and security:
+-----------------------------------------------------------------------------+
| PEERING CONFIGURATION FLAGS MATRIX |
| |
| Flag Name Default Purpose & Operational Impact |
| -------------------------- ------- ---------------------------------- |
| AllowVirtualNetworkAccess Enabled Injects peered VNet address space |
| into default system routing tables.|
| AllowForwardedTraffic Disabled Allows traffic NOT originating |
| from within peered VNet (NVA flow).|
| AllowGatewayTransit Disabled (HUB ONLY) Allows peered spokes to |
| utilize hub's VPN/ER Gateway. |
| UseRemoteGateways Disabled (SPOKE ONLY) Directs spoke to use |
| the hub's gateway for on-prem path.|
+-----------------------------------------------------------------------------+
Gateway Transit Rules for Hub-and-Spoke Topologies:
- Hub Peering Link Configuration: Set
AllowGatewayTransit = trueon the peering link located in the Hub VNet pointing to the Spoke VNet. - Spoke Peering Link Configuration: Set
UseRemoteGateways = trueon the peering link located in the Spoke VNet pointing to the Hub VNet. - Mutual Exclusivity Constraint: A Spoke VNet cannot enable
UseRemoteGatewaysif that Spoke VNet already contains its own Virtual Network Gateway (VPN GatewayorExpressRoute Gateway). Only one gateway path can be active.
A financial enterprise maintains a Hub-and-Spoke network architecture in Azure. Spoke VNet-1 (10.1.0.0/16) and Spoke VNet-2 (10.2.0.0/16) are both peered directly to Hub-VNet (10.0.0.0/16). A virtual machine in Spoke VNet-1 attempts to connect to a backend server in Spoke VNet-2 using its private IP, but all packets are dropped. What is the reason for this behavior and how should it be resolved?
A network engineer is configuring a new spoke virtual network ('Spoke-Prod') to route on-premises traffic through an existing ExpressRoute Gateway located in 'Hub-VNet'. When the engineer attempts to enable 'UseRemoteGateways' on the Spoke-Prod peering link, the Azure Portal returns an error and rejects the configuration. What is the most likely cause of this error?
An infrastructure team needs to expand the address space of an active production VNet by adding the CIDR range 10.50.0.0/16. The VNet is currently peered to three other spoke VNets. What is the recommended, zero-downtime procedure to make the new address space reachable across the peered VNets?