This document guides you through the process of configuring ExpressRoute Exchange Peering in Azure. Exchange peering allows you to connect to Microsoft services and cloud services hosted by network service providers at a colocation exchange.
ExpressRoute Exchange Peering connects your on-premises network or cloud environment to Microsoft's global network via a supported network provider at an internet exchange. This peering type is ideal for:
The primary advantage of Exchange Peering is the ability to establish connectivity with Microsoft services directly from a colocation facility, often resulting in lower latency and higher throughput compared to connecting over the public internet.
Before you can configure Exchange Peering, you need to work with your network service provider. They will provide you with essential information for your ExpressRoute circuit, including:
If you haven't already created an ExpressRoute circuit, you can do so via the Azure portal, Azure CLI, or PowerShell.
Using Azure CLI:
az network express-route create --name MyExpressRouteCircuit \
--resource-group MyResourceGroup \
--location "East US" \
--provider "Equinix" \
--peering-location "New York" \
--bandwidth 100 \
--sku Standard
Once your circuit is provisioned and you have the necessary information, you can configure the Exchange Peering. This typically involves creating a peering configuration on your ExpressRoute circuit.
To add Microsoft peering:
az network express-route peering create --circuit-name MyExpressRouteCircuit \
--resource-group MyResourceGroup \
--name "MicrosoftPeering" \
--peering-type "Microsoft" \
--vlan-id 200 \
--peer-asn 12345 \
--advertised-public-prefixes "x.x.x.x/y"
To add Private peering:
az network express-route peering create --circuit-name MyExpressRouteCircuit \
--resource-group MyResourceGroup \
--name "AzurePrivatePeering" \
--peering-type "AzurePrivate" \
--vlan-id 100 \
--peer-asn 12345
To add Microsoft peering:
$gwipconfig = New-Object Microsoft.Azure.Commands.Network.Models.ExpressRouteCircuitPeeringConfig
$gwipconfig.PrimaryPeerPrefix = "x.x.x.x/y"
$gwipconfig.SecondaryPeerPrefix = "a.a.a.a/b"
$gwipconfig.PeerAsn = 12345
$gwipconfig.VlanId = 200
Add-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuitName MyExpressRouteCircuit -ResourceGroupName MyResourceGroup -PeeringType Microsoft -VlanId 200 -PeerAsn 12345 -PeerPrefix "x.x.x.x/y"
To add Private peering:
Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuitName MyExpressRouteCircuit -ResourceGroupName MyResourceGroup -PeeringType AzurePrivate -VlanId 100 -PeerAsn 12345
After configuration, it's crucial to verify the peering status:
Verifying BGP status with Azure CLI:
az network express-route show-circuit \
--name MyExpressRouteCircuit \
--resource-group MyResourceGroup \
--query "peerings[?name=='MicrosoftPeering'].connections[0].bgpPeeringStatus"
Always double-check the VLAN ID and ASN details with your connectivity provider before configuration to avoid errors and delays.