Azure VNet Gateway SKU Migration Causing Loss of On‑Prem Connectivity

Htin Aung 20 Reputation points
2026-03-21T17:02:38.8766667+00:00

My Azure VMs connect to on‑premises servers through ExpressRoute. Recently, I needed to perform a SKU migration on the virtual network gateway. I used the SKU migration tool, and after the traffic migrated to the new gateway, the connection between my Azure VMs and on‑premises servers was lost. I then aborted the migration to restore connectivity.

How can I resolve this issue and successfully complete the SKU migration without losing the ExpressRoute connectivity?

Azure ExpressRoute
Azure ExpressRoute

An Azure service that provides private connections between Azure datacenters and infrastructure, either on premises or in a colocation environment.

0 comments No comments

Answer accepted by question author
Praveen Bandaru 11,800 Reputation points Microsoft External Staff Moderator
2026-03-24T01:08:04.57+00:00

Hello Htin Aung

It appears your ExpressRoute circuit lost BGP connectivity when the new gateway took over. You can perform a SKU migration without disrupting your on-premises connectivity by using the “seamless gateway migration” workflow instead of resizing the current gateway. Here’s an overview:

During migration, when you use the Prepare option to create a new virtual network gateway, a Public IP will be assigned automatically. This process takes around 45 minutes and does not cause any traffic disruptions.

Additionally, after migrating traffic from the old gateway to the new one, you may experience network drops for a few minutes (up to 15 minutes). You can plan for this accordingly. See the screenshot below:

User's image

Check the below reference document for more understanding:

Steps to migrate to a new gateway

Check prerequisites:

  • Your ExpressRoute circuit should be at least Standard SKU (Basic circuits can’t cross regions).
  • If your gateway’s public IP is Basic SKU, upgrade it to Standard (ExpressRoute doesn’t support Basic-IP gateway migration).
  • Confirm all gateway connections and BGP peers are in “Succeeded” state.

Validate → Prepare → Migrate → Commit process.

Validate: In Azure portal, go to Virtual Network Gateway > Gateway SKU migration > Validate. Resolve any issues (such as circuit SKUs or regions)

Prepare: A second gateway with your target SKU is created alongside the existing one. The old gateway remains active and locked.

Migrate traffic: Select the new gateway and click Migrate traffic. Azure transfers BGP sessions, routes, and ExpressRoute peering to the new gateway. Expect a short BGP flap, but no downtime. Wait until this process finishes (about 5–15 minutes).

Commit: After verifying your on-prem routers receive Azure prefixes via the new gateway, select Commit migration to remove the old gateway

While

Post-migration checks: Confirm that BGP neighbors are active on the new gateway. Use ping or iPerf to test connectivity from your VMs to on-premises. Review your ExpressRoute metrics (bytes in and out) to ensure traffic is flowing correctly.


I hope the above answer helps you! Please let us know if you have any further questions.

Please don't forget to "accept the answer" and "upvote" where the information provided will help you, this can be beneficial to other members of the community.

Was this answer helpful?


1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-03-21T17:02:57.7966667+00:00

    Use the guided ExpressRoute gateway migration workflow end to end and validate that all prerequisites and best practices are met before switching traffic to the new gateway. Loss of connectivity after the Migrate step typically indicates a configuration, health, or unsupported‑scenario issue on the new gateway or its connections.

    Recommended approach:

    1. Pre‑checks before retrying migration
      1. Ensure the scenario is supported:
        • Migration is only for ExpressRoute virtual network gateways in the same VNet and not for VPN gateways or cross‑region/cross‑subscription moves.
        • No downgrade from an Az‑enabled SKU to a non‑Az SKU.
        • Gateway isn’t using the default SKU; if it is, resize it to Standard first.
        • Gateway isn’t a legacy (pre‑2017) gateway or connected to circuits created before 2017 in legacy mode.
        • No dedicated HSM attached to the VNet.
        • VNet has at most two ExpressRoute gateways.
      2. Validate GatewaySubnet size:
        • GatewaySubnet must be /27 or longer (for example, /27, /26, /25). If smaller, delete and recreate it with a /27 or shorter prefix as required.
      3. Confirm resource health:
        • Gateway, ExpressRoute circuits, connections, public IPs, VNet, and GatewaySubnet must all be in Succeeded state. If any are in a failed state, fix them (for example, by GET/SET or re‑create connections) before retrying.
      4. Check FastPath and SKU compatibility:
        • If connections use FastPath (ExpressRouteGatewayByPass), only migrate to UltraPerf or ERGW3AZ SKUs. Do not downgrade SKU type.
      5. Check connection limits:
        • Ensure the target gateway SKU supports at least as many connections as the current gateway. Do not migrate to a SKU with a lower connection limit.
      6. Check for revoked circuit authorizations:
        • If any connected circuit authorization is revoked, migration cannot proceed; fix circuit authorizations first.
    2. Follow migration best practices to avoid connectivity loss
      1. Maintain all related resources in Succeeded state during migration; avoid updates or maintenance on circuits, connections, or gateways while migrating.
      2. Do not modify properties such as FastPath, route weight, or traffic toggles on connections/gateways during the migration.
      3. If multiple gateways share the same circuit, migrate them one at a time; do not run parallel migrations on the same circuit.
      4. Do not manually create, delete, update, or reset gateways or their connections while they are carrying traffic.
      5. Do not create new connections to a gateway that is undergoing maintenance; delete any failed connection attempts and retry after migration.
    3. Retry the migration with controlled steps
      1. Run Validate again:
        • Use the migration tool’s Validate step and ensure it completes successfully. If it fails, use the specific error from the “Common error messages” list to correct the issue (for example, resize GatewaySubnet, recreate legacy connections, deallocate HSM, or fix failed resources) and re‑validate.
      2. Run Prepare:
        • Let the tool create the new gateway. If Prepare fails (for example, due to subnet size, legacy connections, or incompatible dedicated circuit), fix the reported issue, delete any partially created resources, and rerun Prepare.
      3. Run Migrate and monitor traffic:
        • Start the Migrate step to move configuration and traffic to the new gateway.
        • Do not navigate away from the migration page while traffic is being moved; leaving the page may interrupt the process.
        • If migration fails and both gateways remain enabled, explicitly redirect traffic back to the old gateway (as already done) and then retry the migration after addressing the reported cause.
      4. Verify ExpressRoute connectivity on the new gateway:
        • Once Migrate succeeds, confirm that:
          • ExpressRoute connections are in Succeeded state.
          • On‑premises routes are being advertised and received as expected.
          • Azure VMs can reach on‑premises servers over ExpressRoute.
        • If connectivity is not working but the migration step completed, check for any configuration changes made during or after migration (FastPath, route weight, or traffic toggles) and revert them to the original values.
    4. Commit only after stable connectivity
      1. When ExpressRoute connectivity is confirmed through the new gateway, run Commit:
        • This decommissions the old gateway and its connections.
        • After Commit, the change cannot be rolled back, so ensure connectivity is fully validated first.
      2. If Commit fails and the old gateway remains enabled:
        • Retry Commit until the old gateway is successfully disabled.
        • After a successful Commit, delete the old gateway and associated resources if they are not automatically removed.
    5. If Abort is needed again
      • If migration must be aborted and the Abort step fails to clean up resources:
        • Redirect traffic to the new or old gateway as appropriate.
        • Retry the Abort operation until cleanup succeeds.

    By strictly following the supported scenarios, pre‑checks, and the Validate → Prepare → Migrate → Commit flow, and by avoiding configuration changes during migration, the gateway SKU migration can be completed without losing ExpressRoute connectivity between Azure VMs and on‑premises servers.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.