Skip to content

Networking · Runbook

VPN Gateway Basic IP migration: check and validate

• • 6 min read

The customer-initiated window to move VPN Gateway off Basic public IPs has closed. How to check your gateways have moved, handle a pending one, and validate.

  • Effort: 30–60 mins
  • Risk: Low–Medium
  • Rollback: Partial (Abort before Commit; Microsoft-run migrations: No)

Applies to: VPN Gateway

On this page
  1. What changed
  2. Who is impacted
  3. Configurations known to be affected
  4. Why it matters
  5. Runbook: confirm the migration, then validate
  6. Success criteria
  7. Comms template for stakeholders
TL;DR

The customer-initiated window to move Azure VPN Gateway off Basic SKU public IPs has closed, and Microsoft is migrating the remaining eligible gateways itself. Find out whether each of your gateways has been migrated, check the configurations known to break, then validate tunnels, routing and real application paths.

Update: Microsoft is now doing the migration

Customer-initiated migration ended on 30 June 2026, with extension requests to 31 July 2026 approved automatically. A gateway still on the legacy platform after that is no longer covered by the VPN Gateway SLA. From August 2026, Microsoft migrates remaining eligible gateways itself, regionally and out of business hours. That migration is not reversible, there is no per-gateway notice before it happens, and gateways judged inactive may be deleted as part of the retirement. Check Microsoft’s migration guidance for the current position before you act.

What changed

Microsoft shipped a migration path, in the portal and in PowerShell, that moves a VPN gateway from a Basic to a Standard public IP without changing the IP address. It covers VpnGw1–5 and the legacy Standard and High-Performance gateway SKUs, in both active-standby and active-active mode.

That self-service window has now closed. Microsoft is running the same migration on the back end for anything left, so the question is no longer “when do we migrate?” but “has it happened, and does everything still work?”

What the migration changes:

  • The Basic public IP resource becomes Standard. The IP address stays the same.
  • VpnGw1–5 become VpnGw1AZ–5AZ. Expect IaC drift on the SKU.
  • On active-active gateways, the portal shows new BGP peer IPs. Microsoft says existing on-premises BGP configuration keeps working without changes, because traffic to the old peer IPs is redirected.
  • Gateway instance private IPs can change. Anything you built that points at them needs checking.

Who is impacted

You should care if any of these are true:

  • You run Azure VPN Gateways on VpnGw1–5 or a legacy gateway SKU
  • Any of them still had a Basic SKU public IP after 31 July 2026
  • You rely on the gateway for critical connectivity (on-prem, partners, branch sites)
  • You use one of the configurations Microsoft lists as known to be affected (below)
  • You have automation that assumes the old SKU names or IP resource shapes

Basic SKU gateways are different. A Basic gateway SKU with a Basic public IP reference doesn’t go through migration. You remove the Basic public IP reference and the gateway keeps the same address.

Configurations known to be affected

Microsoft lists these as needing customer action, with possible connectivity impact if they aren’t remediated before a back-end migration:

  • Custom (narrow) traffic selectors. On active-active gateways with BGP, tunnels can stay down after migration. Microsoft’s fix is to move the on-premises device to wildcard (0.0.0.0/0) selectors, or make sure it accepts them.
  • Active-active with point-to-site (P2S) VPN. Needs a third public IP (see prerequisites).
  • CloudApp-based P2S, where the client profile FQDN ends in cloudapp.net. These use a guided migration and need an updated VPN client profile.
  • Remote RADIUS authentication for P2S.

If you run any of these and the gateway has already been migrated by Microsoft, test that path first.

Why it matters

  • SLA: an un-migrated gateway has had no VPN Gateway SLA since 30 June 2026.
  • Control: a Microsoft-initiated migration happens without notice and can’t be rolled back. Your validation is all that’s left.
  • Drift: the SKU change and the new Standard IP resource put your IaC out of step with reality.
  • Platform consistency: standardising IP SKUs and gateway patterns makes landing-zone networking guardrails easier.

Find any Basic public IPs still in the estate with Azure Resource Graph:

KUSTO
resources
| where type =~ 'microsoft.network/publicipaddresses'
| where tostring(sku.name) =~ 'Basic'
| project subscriptionId, resourceGroup, name,
          attachedTo = tostring(properties.ipConfiguration.id)
| order by subscriptionId asc

Then list your VPN gateways and their SKUs. An AZ suffix after the migration window is a good sign the gateway has moved. A non-AZ VpnGw1–5 SKU with a Basic IP attached means it hasn’t yet.

KUSTO
resources
| where type =~ 'microsoft.network/virtualnetworkgateways'
| where tostring(properties.gatewayType) =~ 'Vpn'
| project subscriptionId, resourceGroup, name, location,
          sku = tostring(properties.sku.name),
          activeActive = tobool(properties.activeActive),
          bgp = tobool(properties.enableBgp)
| order by subscriptionId asc

Runbook: confirm the migration, then validate

  1. Inventory and scope

    Run both queries above and record, per gateway:

    • Subscription / RG / gateway name
    • Region
    • Gateway SKU (non-AZ or AZ)
    • Public IP SKU
    • Active-active? BGP enabled?
    • Connection types (site-to-site (S2S) and point-to-site (P2S))
    • Any known-impact configuration from the list above
  2. Check the custom networking around the gateway

    Whether the migration was yours or Microsoft’s, review:

    • Route tables (UDRs) that reference gateway instance private IPs
    • Load balancers, firewall rules and NVAs that reference them
    • That BGP route propagation is enabled where you expect it

    Update anything still pointing at the old instance IPs.

  3. If a migration is still pending: meet the prerequisites

    Only applies if the gateway hasn’t been migrated and you can still run it yourself (check the portal Configuration > Migrate tab):

    • GatewaySubnet must be /27 or larger, with at least three free IP addresses in the current prefix. Add a prefix if it’s /28 or smaller.
    • Active-active with P2S needs a third, non-zonal public IP created and attached before you start.
    • If ExpressRoute and VPN coexist, Microsoft recommends migrating the VPN gateway first.
    • Snapshot the current config (ARM/Bicep/Terraform state, gateway, connections and BGP settings) and make sure you have break-glass access.
  4. If a migration is still pending: Prepare, Execute, Commit

    Plan a maintenance window. Microsoft quotes up to two hours end to end, with up to ten minutes of interruption during Execute.

    • Prepare creates the new Standard IP resources.
    • Execute migrates the IP and the gateway SKU. This is where the interruption happens.
    • Commit finalises it and deletes the old Basic IP resource.

    Make no changes to the public IP, gateway, GatewaySubnet or connections between Execute and Commit. That includes enabling DDoS protection. Changes in that window can leave the gateway stuck, and the only recovery may be to delete and recreate it.

  5. Rollback (customer-initiated only)

    Before Commit you can Abort: the IP goes back to Basic (same address) and the SKU back to non-AZ. After Commit there is no rollback. A Microsoft-initiated migration can’t be reversed at all.

    Decide your abort criteria before you Execute:

    • Connectivity not restored within X minutes
    • BGP not converged within Y minutes
    • Critical sites can’t reconnect
  6. Post-change validation

    Validate:

    • All S2S tunnels are connected
    • BGP routes are learned as expected
    • P2S users can connect (if used), with an updated client profile for CloudApp-based gateways
    • Traffic flows for at least one real app path (not just tunnel state)

    Then update your IaC/state so you don’t drift.


Success criteria

  • Gateway public IP is Standard SKU and gateway SKU is the AZ variant (confirmed in portal and IaC).

  • No Basic public IPs remain attached to VPN gateways.

  • All VPN connections are in Connected state.

  • BGP (if enabled) has reconverged and route tables show expected prefixes.

  • UDRs, load balancers, firewalls and NVAs no longer reference old gateway instance IPs.

  • At least one end-to-end application test passes across the VPN.

  • Monitoring alerts are back at baseline with no persistent packet loss.


Comms template for stakeholders

Message template

Azure VPN Gateway change: Microsoft has retired Basic public IPs for VPN Gateway and is migrating remaining gateways to Standard public IPs. Our gateway [has been / is being] moved. The gateway IP address doesn’t change.

  • When: [date/time, or “migrated by Microsoft on or around date”]. Expect up to ten minutes of interruption during the change itself.
  • Impact: VPN connectivity may drop briefly while tunnels re-establish.
  • Validation: we’ll confirm tunnels, BGP and app paths and update you when complete.