Edit

Azure virtual machine resource move fails because load balancer dependencies are missing

Applies to: ✔️ Windows VMs ✔️ Linux VMs

Summary

Azure virtual machine (VM) resource move operations can fail if the move scope doesn't include all dependent resources, like load balancers and associated network configurations. This article explains how to identify missing dependencies and resolve move validation errors.

Symptoms

Move validation fails and generates dependency errors if a VM network adapter is attached to a load balancer backend pool, and you exclude related resources from the move request.

The following are examples of dependency errors.

MissingMoveDependentResources
Cannot move resource because dependent resources are not included.

Cause

A VM that participates in load balancing has network dependencies that you must move together. If the move scope excludes linked resources, Azure Resource Manager (ARM) blocks the operation.

Typical missing dependencies include the following resources:

  • Load balancer
  • Backend pool configuration
  • Health probe and load-balancing rules
  • Public IP (for public load balancer)
  • Associated network adapter/IP configuration objects

Resolution

Step 1: Map current network dependencies

Use the Azure portal, Azure PowerShell, or Azure CLI to map the current network dependencies.

Follow these steps:

  1. In the Azure portal, go to the VM > Networking.
  2. Open the attached network adapter.
  3. Check IP configurations and the linked load balancer backend address pools.

For more information, see Manage a load balancer using the Azure portal.

Step 2: Include all required resources in move scope

When you move the VM, include the following resources:

  • VM and disks
  • Network adapters
  • Load balancer and public IP resources
  • NSG and route table dependencies

Step 3: If full dependency move isn't supported, detach and reattach

For complex topologies, use the following sequence of steps:

  1. Remove the network adapter from the back-end pool (or remove the VM from the load balancer set).
  2. Complete the VM resource move.
  3. Re-create or reattach the load balancer configuration at the destination.

Step 4: Verify application connectivity

After the move, verify:

  • Health probe status
  • Inbound rule behavior
  • Back-end pool membership

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.