Cannot attach existing Public IP to zonal VM – zone constraint mismatch (Regional vs Zone 1)

Ivan Tomio | Supra 45 Zuverlässigkeitspunkte
2026-04-10T08:18:44.22+00:00

Hello,

I am running into an issue while migrating a VM to Availability Zones in West Europe.

What I did:

  • I deallocated the old VM
  • Detached the existing Public IP address
  • Tried to attach the same Public IP to a new VM deployed in Availability Zone 1

When attaching the Public IP to the new VM, I receive the following error:

Failed to update network interface Failed to update network interface "unifi1927_z1". Error: Compute resource /subscriptions/.../providers/Microsoft.Compute/virtualMachines/... has a zone constraint 1 but the PublicIpAddress /subscriptions/.../providers/Microsoft.Network/publicIPAddresses/... used by the compute resource via NetworkInterface or LoadBalancer has a different zone constraint Regional.

Additional context:

  • The new VM is deployed in Availability Zone 1
  • The old VM was non-zonal (regional)
  • The existing Public IP is regional, not zonal

I also tried to migrate the old VM to Availability Zone 1, but Azure blocks this with the following error:

Selected VM cannot be moved to availability zone due to insufficient quota. Please refer to doc and contact support

At this point, I am unclear:

  • Which specific quota needs to be increased (regional vCPU is available)
  • Whether a regional Public IP can be converted or reused for a zonal VM
  • Or if the only supported solution is to create a new zonal Public IP

Any clarification on the correct way to handle Public IPs when moving from non-zonal to zonal VMs, and which quota applies to VM zone migration, would be appreciated.

Thank you.

Azure Virtual Network
Azure Virtual Network

Ein Azure-Netzwerkdienst zum Bereitstellen privater Netzwerke und (optional) zum Herstellen einer Verbindung mit lokalen Rechenzentren.

0 Kommentare Keine Kommentare

Antwort, die vom Frageautor angenommen wurde
Venkatesan S 10,830 Zuverlässigkeitspunkte Externe Microsoft-Mitarbeiter Moderator
2026-04-10T09:47:36.05+00:00

Hi Ivan Tomio | Supra,

Thanks for reaching out in Microsoft Q&A forum<

Failed to update network interface Failed to update network interface "unifi1927_z1". Error: Compute resource /subscriptions/.../providers/Microsoft.Compute/virtualMachines/... has a zone constraint 1 but the PublicIpAddress /subscriptions/.../providers/Microsoft.Network/publicIPAddresses/... used by the compute resource via NetworkInterface or LoadBalancer has a different zone constraint Regional.

Your new VM is pinned to Availability Zone 1, but your existing Public IP is regional (meaning it has no zone assignment).

Azure doesn’t allow you to attach a regional Public IP to a zonal VM because it would break the zone isolation guarantee. the IP could end up being served from a different zone than your VM, defeating the purpose of zonal deployment. This is why you see that “zone constraint 1 vs Regional” error when trying to attach the IP.

Unfortunately, there’s no way to convert or “upgrade” your existing regional Standard Public IP to make it zonal or zone-redundant while keeping the same IP address. The zone configuration is locked at creation time. Your only supported options are:

  • Create a new zone-redundant Standard Public IP (recommended) – This spans all three zones in West Europe, attaches cleanly to your Zone 1 VM, and gives you the best resiliency (the IP survives even if an entire zone goes down). You’ll get a new IP address, so you’ll need to update your DNS records.
  • Create a new zonal Standard Public IP in Zone 1 – This matches your VM’s zone exactly and will attach without issues, but you lose resiliency if Zone 1 has an outage.
  • Redeploy the VM as regional – If keeping the existing Public IP address is absolutely critical, you can redeploy your new VM without specifying an availability zone. This lets you reuse the old regional IP, but you sacrifice the zonal resiliency you were trying to gain.

For quota-related queries, please raise a new question in the Microsoft Q&A forum, and the concerned team will reach out to you.

Update:

Based on this, the only viable solution seems to be to redeploy the VM as a regional (non‑zonal) VM so that the existing regional Standard Public IP can be associated again. Could you please clarify in detail: How exactly to redeploy a zonal VM as a regional VM Whether this requires creating a new VM from the existing disks, or if a direct redeployment is supported What the Microsoft‑recommended procedure / best practice is for this scenario (official documentation would be appreciated) Additionally, it would be helpful to understand:

  • Which resources can be safely reused (OS disk, NIC, managed data disks)
  • Any caveats to be aware of to avoid data loss or configuration issues.

You’re right that keeping the existing Public IP locks you into a regional (non‑zonal) VM. Azure simply won’t let a regional Standard Public IP attach to a zonal VM, and there’s no way to “convert” that IP to zonal or zone‑redundant while keeping the same address. So, the only supported path is to rebuild the VM as regional and reuse the existing disks and networking.

There’s no in‑place “change zone to regional” switch on a VM. The zones property is immutable once the VM is created. What you actually do is a controlled rebuild: create a new regional VM that boots from the existing OS disk, reattach the existing NIC (with your precious Public IP still on it), reattach all data disks, validate everything, and then delete the old zonal VM. Microsoft’s own guidance for moving between regional and zonal configurations follows this same “copy‑then‑retire” pattern—you’re just doing it in reverse.

Here’s the practical, production‑safe flow:

  1. Deallocate the zonal VM so its disks and NIC are released.
  2. (Strongly recommended) Take snapshots or ensure you have a recent backup of the OS disk and all data disks.
  3. Create a new VM in West Europe:
    • Set Availability zone to “No infrastructure redundancy required” (i.e., regional).
    • For the OS disk, choose “Use existing disk” and select the current OS managed disk.
    • Use the same VM size/SKU (or a compatible one).
  4. Reuse the existing NIC and Public IP:
    • Either attach the existing NIC directly to the new VM, or
    • Recreate the NIC with the same subnet, private IP, NSG, and the existing regional Standard Public IP, then attach that NIC.
  5. Reattach all data disks (the existing managed disks) with the same LUNs.
  6. Start the new VM, validate boot, network, DNS, application behavior, and data access. Once everything is confirmed working,
  7. delete the old zonal VM (not the disks).

You can safely reuse:

  • The OS managed disk
  • All data managed disks
  • The NIC (or a recreated one with identical settings)
  • The regional Standard Public IP (this is the whole point)
  • NSGs, route tables, subnet, VNet, and any associated identities

Just keep in mind:

  • VM extensions (Backup, Monitoring, Custom Script, etc.) are tied to the VM resource, so you’ll need to reconfigure them on the new VM.
  • You’re giving up zonal isolation for this VM, so review any SLA or architecture assumptions that depended on it.
  • Update any automation (ARM/Bicep/Terraform) that expects a zonal VM to now expect a regional one.

This approach keeps your Public IP unchanged, avoids any DNS updates, and follows Microsoft’s recommended pattern for changing a VM’s availability model.

Reference:

Kindly let us know if the above helps or you need further assistance on this issue.

Please do not forget to 210246-screenshot-2021-12-10-121802.pngand “up-vote” wherever the information provided helps you, this can be beneficial to other community members.

War diese Antwort hilfreich?

Eine Person fand diese Antwort hilfreich.

0 zusätzliche Antworten

Sortieren nach: Älteste

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.