Edit

Connect an on-premises network to Azure by using ExpressRoute

This article describes a reference architecture for connecting an on-premises network to an Azure virtual network by using Azure ExpressRoute over private peering. It's written for network architects and engineers who design hybrid connectivity.

You'll learn how the ExpressRoute circuit, gateway, and connection fit together, where each component is deployed, and how on-premises traffic reaches resources in an Azure virtual network. The article covers private peering only. Microsoft peering, which provides connectivity to Microsoft 365 and Azure public services over public IP addresses, is out of scope.

An ExpressRoute setup has three main components: the circuit, the gateway, and the connection.

Diagram that shows the logical components used in ExpressRoute private connectivity.

ExpressRoute delivers connectivity through ExpressRoute peering locations. Peering locations are the entry points into the Microsoft backbone, and Azure regions are the locations where you deploy Azure resources. Peering locations and Azure regions are two distinct entities in different physical locations.

Architecture

An ExpressRoute circuit supports two peering types. ExpressRoute private peering (blue in the diagram) connects your on-premises network to Azure virtual networks through an ExpressRoute gateway. Microsoft peering (red in the diagram) connects to Microsoft 365, Dynamics 365, and Azure public services through public IP addresses. This article doesn't address Microsoft peering.

Diagram that shows hybrid connectivity with an ExpressRoute gateway.

Download a PowerPoint file of the architectures in this article.

The following diagram shows the architecture for the private peering path, including the redundant primary and secondary circuit links between the on-premises network and the Azure virtual network.

Diagram that shows a reference architecture for a hybrid network architecture that uses ExpressRoute private peering.

Traffic crosses three administrative zones on its way from on-premises hosts to Azure resources: your on-premises network, the ExpressRoute peering location where the circuit terminates, and the Azure virtual network reached via the ExpressRoute gateway. The workflow that follows describes how a packet traverses these zones. The components inventory after it describes each element shown in the diagram.

Workflow

Traffic flows from left to right through the three zones shown in the diagram:

  1. On-premises network. Traffic originates from your on-premises network and travels to local edge routers at the ExpressRoute peering location.

  2. Peering location. The local edge routers connect to Microsoft Enterprise Edge routers (MSEEs) through the ExpressRoute circuit. Redundant primary and secondary links provide high availability between the local routers and the MSEEs.

  3. Azure virtual network. The MSEEs forward traffic through the ExpressRoute connection to the ExpressRoute gateway in the gateway subnet. The gateway routes traffic into the Azure virtual network.

Components

The architecture consists of the following components:

  • On-premises network. This private network is operated within your organization. It represents the organization's internal, self-managed network environment.

  • Azure virtual network. An Azure virtual network provides your isolated network environment in Azure. It's deployed within a single region. It functions as an extension of your organization's private network in the cloud. Use subnets to organize and segment resources as needed.

  • ExpressRoute circuit. A logical connection between your on-premises infrastructure and Microsoft cloud services through a connectivity provider. The circuit provides two redundant connections between MSEEs and your local edge routers, and Azure private peering establishes redundant BGP sessions over those connections. Each ExpressRoute circuit is provisioned at an ExpressRoute peering location, where cross-connections to the Microsoft global network terminate.

    • MSEEs. Two Microsoft-managed routers operating in an active-active, highly available configuration.

    • Local edge routers. Routers that connect the on-premises network to the circuit. These routers are supplied by an ExpressRoute connectivity provider or, in the case of ExpressRoute Direct, by the customer.

  • ExpressRoute virtual network gateway. The virtual network gateway enables connectivity between the Azure virtual network and the ExpressRoute circuit that's used for on-premises connectivity. You deploy it as multiple gateway instances for high availability. It connects to both MSEEs, and it runs in an Azure region. The gateway is bound to a single Azure region and a single virtual network, so it's the point at which the redundant circuit converges into a single per-region admission surface. Reaching resources in other regions requires additional gateways in additional virtual networks attached to the same circuit, or a hub topology that uses virtual network peering or Azure Virtual WAN.

    • Gateway subnet. A dedicated subnet within the virtual network that hosts the Azure virtual network gateways (ExpressRoute gateway, VPN gateway, or both). The subnet must be named GatewaySubnet.
  • ExpressRoute connection. A resource that links the ExpressRoute circuit at the peering location to the ExpressRoute virtual network gateway in Azure. It establishes the virtual connection between the MSEE routers and the gateway.

Set up ExpressRoute components

This section describes how to provision and connect the three ExpressRoute resources introduced in the architecture: the circuit at the peering location, the ExpressRoute gateway inside the Azure virtual network, and the connection that links them. Provision them in that order. The gateway has no peer to attach to until the circuit exists, and the connection resource requires both the circuit and the gateway.

ExpressRoute circuit and peerings

Create an ExpressRoute circuit by using the Azure portal, Azure CLI, or PowerShell. For step-by-step instructions, see Create an ExpressRoute circuit.

After the circuit is provisioned by your connectivity provider or directly by you, configure Azure private peering, Microsoft peering, or both. These routing domains provide connectivity to Azure private resources (virtual networks) and Microsoft cloud services, respectively.

Each ExpressRoute circuit has a fixed bandwidth, shared across all peerings on that circuit. Each circuit belongs to a specific connectivity provider and peering location. This association is fixed for the life of the circuit. To change either the provider or the peering location, you need to create a new circuit. The ExpressRoute circuit SKU (Local, Standard, Premium) determines the maximum reach of Azure resources that you can connect to.

For routing configuration guidelines, see Create and modify peering for an ExpressRoute circuit.

Review the routing requirements before you configure circuit routing.

ExpressRoute gateway

An ExpressRoute gateway is a virtual network gateway of type ExpressRoute. Deploy it inside your virtual network to extend your on-premises network into Azure. Deploy it in a dedicated subnet named GatewaySubnet. The same subnet can also host a VPN gateway in a coexistence configuration.

ExpressRoute offers multiple gateway SKUs for different throughput and performance requirements. Higher SKUs allocate more CPU and bandwidth, which supports higher throughput to the virtual network.

To deploy the gateway, follow the instructions in Configure a virtual network gateway for ExpressRoute.

ExpressRoute connection

An ExpressRoute connection links a virtual network, specifically its ExpressRoute gateway, to an ExpressRoute circuit. This connection enables private routing between your on-premises network and Azure resources.

Key properties:

  • Multiple circuits per virtual network. A single virtual network can connect to multiple ExpressRoute circuits.
  • Multiple gateways per circuit. A single ExpressRoute circuit can link to multiple ExpressRoute gateways in different virtual networks.
  • Service limits. For more information, see Azure ExpressRoute limits.

Because of fan-in and fan-out across circuits and gateways, a single circuit can be shared across virtual networks owned by different teams, regions, or subscriptions. Account for this shared blast radius when you assign ownership, alerting, and change control for the circuit.

To create the connection, see Connect a virtual network to ExpressRoute circuits.

Considerations

These considerations align with the pillars of the Azure Well-Architected Framework, a set of guiding principles for improving workload quality. For more information, see Microsoft Azure Well-Architected Framework.

Reliability

Reliability ensures that your workload can consistently meet the availability and performance expectations of your users. See the Design review checklist for Reliability.

ExpressRoute has multiple components, so design resiliency across all of them:

The ExpressRoute virtual network gateway is the per-region reliability ceiling. All upstream redundancy, including active-active MSEEs, BFD, redundant circuits, and geographically diverse cross-connections, converges at a single regional gateway. Regional resilience of the connectivity path itself requires a second gateway in a second region. End-to-end disaster recovery also requires geo-redundant circuits through distinct peering locations. See Designing for disaster recovery with ExpressRoute private peering for multi-region designs.

For end-to-end resiliency guidance, see Design and architect Azure ExpressRoute for resiliency.

Security

Security protects your applications and data from unauthorized access or misuse. See the Design review checklist for Security.

Keep the following considerations in mind:

For a full list of security recommendations, see the Azure security baseline for ExpressRoute.

Cost Optimization

Cost Optimization focuses on reducing unnecessary expenses and improving operational efficiencies. See the Design review checklist for Cost Optimization.

ExpressRoute provides two pricing models:

  • Metered Data. Free inbound data. Outbound data charged per GB.
  • Unlimited Data. Fixed monthly port fee. Both inbound and outbound data is included.

Monitor circuit utilization and select a plan that aligns with actual usage.

The pricing plan is one cost factor among several. Review these structural factors together:

  • Gateway SKU. Higher-performance gateway SKUs incur a higher recurring charge. See Gateway SKUs for per-SKU sizing and performance information.
  • Circuit SKU/tier. The Local, Standard, and Premium tiers have different recurring charges and connectivity scopes. Premium adds a recurring premium for higher route limits, more virtual network links, and global reachability.
  • Circuit bandwidth. Bandwidth is a recurring charge. Increases are nondisruptive, but for decreases you need to re-create the circuit, so downsizing creates more friction than upsizing.
  • Redundancy choices. The redundant circuits, geographically diverse cross-connections, and multi-region gateways recommended in Reliability each add recurring costs. Treat the reliability target and the cost considerations as a single decision.

For full pricing details, see Azure ExpressRoute pricing.

Operational Excellence

Operational Excellence ensures that your connectivity remains observable, supportable, and well-maintained. See the Design review checklist for Operational Excellence.

Keep the following considerations in mind:

  • Real-time visibility. Use ExpressRoute Traffic Collector and ExpressRoute Insights with Network Insights for performance, availability, and packet-drop metrics.
  • Maintenance notifications. Configure Azure Service Health alerts to receive ExpressRoute maintenance notifications.
  • End-to-end reachability. Use Connection Monitor for ExpressRoute to track connectivity between Azure and on-premises. Connection Monitor is the end-to-end reachability signal. The other items in this list are per-component signals. All components reporting a healthy status doesn't guarantee end-to-end reachability if BGP is misadvertised, the peer is filtering, or one circuit link silently failed.
  • Gateway health. Monitor gateway health and performance by using Azure Monitor (CPU, throughput, routes, and flows).
  • Change-management of the shared circuit. A circuit is shared infrastructure. Connectivity-provider-side changes, peering reconfigurations, and bandwidth modifications affect every virtual network attached to the circuit. Assign clear circuit ownership, notify downstream virtual network owners of planned changes, and coordinate change windows across teams that share the circuit.

For the full metrics list, see Azure ExpressRoute monitoring data reference. For broader resiliency monitoring guidance, see Monitoring and alerting recommendations.

Performance Efficiency

Performance Efficiency ensures that the connectivity layer can scale and sustain expected load. See the Design review checklist for Performance Efficiency.

Key considerations:

  • Component interdependency. The gateway SKU must match the performance needs of the circuit. Higher-bandwidth circuits require higher-performance gateways to avoid bottlenecks. See ExpressRoute gateway SKUs for per-SKU throughput information that you can use to match the gateway to the circuit.

  • Circuit and gateway limits. A single ExpressRoute circuit supports a maximum number of route advertisements and virtual network links. A single ExpressRoute gateway supports a limited number of circuit connections. See Azure ExpressRoute limits.

    Note

    Use the Azure Connectivity Toolkit to test and baseline link latency and throughput.

  • Circuit bandwidth. Available bandwidth depends on your connectivity provider. Use Get-AzExpressRouteServiceProvider to list providers and bandwidth SKUs that are supported in your region.

  • ExpressRoute Premium add-on. This add-on provides:

    • Higher route limits for private peering.
    • More virtual network links per circuit.
    • Global reachability across regions.

    Premium adds a recurring premium charge and extends the circuit's reach scope across regions, which broadens the set of virtual networks that can attach. Weigh the uplift against the pricing-plan and structural factors in Cost Optimization and against the governance controls that decide which virtual networks attach to the circuit.

  • Scaling options. If you need higher performance, increase circuit bandwidth or upgrade the circuit SKU (including switching to Premium). Bandwidth increases are nondisruptive, but for decreases you need to re-create the circuit. Also, you can't switch from the Unlimited Data plan back to Metered Data. For the PowerShell commands and SKU-coupling rules, see Modifying an ExpressRoute circuit.

  • ExpressRoute scalable gateway. Use the ExpressRoute scalable gateway (ErGwScale SKU) to automatically scale gateway capacity without manual intervention.

  • ExpressRoute FastPath. Enable ExpressRoute FastPath for higher throughput and reduced latency. When you enable FastPath, traffic bypasses the gateway for data-plane traffic. FastPath is a data-path bypass: the gateway's control-plane role (route propagation, BGP, gateway metrics) is unchanged, but data-plane observability and any policy that depended on traffic traversing the gateway no longer apply. FastPath also has configuration constraints (for example, around user-defined routes on the gateway subnet). Review the FastPath limitations before enabling it.

Contributors

Microsoft maintains this article. The following contributors wrote this article.

Principal author:

Next steps

To put this architecture into practice, start by creating the ExpressRoute circuit. The following product documentation and Microsoft Learn modules cover circuit creation, gateway deployment, virtual network linking, and the surrounding hybrid networking concepts.

Product documentation:

Microsoft Learn modules: