Edit

Azure virtual machine resource move fails because availability set and zone constraints are incompatible

Applies to: ✔️ Windows VMs ✔️ Linux VMs

Summary

This article discusses how to troubleshoot move failures if the destination constraints for availability sets or availability zones don't match the source virtual machine (VM) deployment model.

Symptoms

Move validation or deployment finalization fails if the VM availability topology isn't supported in the destination scope.

Example patterns include the following.

OperationNotAllowed
The requested configuration is not supported for availability set or zone placement.

Cause

Availability sets and availability zones follow different placement models. A move can fail if the destination environment doesn't support equivalent topology or if constraints conflict with the target region capabilities.

Resolution

Step 1: Identify the source placement model

Use Azure PowerShell, Azure CLI, or the Azure portal to determine whether the VM uses an availability set or zone assignment.

Run the following command.

$vm = Get-AzVM -ResourceGroupName "<rg-name>" -Name "<vm-name>"
$vm.AvailabilitySetReference
$vm.Zones

Step 2: Verify destination region support for VM topology

Verify that the destination region and resource group can host the same model and SKU.

Step 3: Choose a supported target availability pattern

If direct parity isn't available:

  • Recreate the VM in a compatible topology.
  • Adjust the high-availability model for the destination.

Step 4: Run the VM move or staged migration

Use a supported sequence, and then verify workload resilience after completion.

References

Third-party information disclaimer

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.