How to Migrate VMware VMs to Azure Local with Azure Migrate
















Migrating VMware VMs to Azure Local with Azure Migrate

Migrating VMware virtual machines to Azure Local requires two Azure Migrate appliances:

  • A source appliance in the VMware environment
  • A target appliance running on the Azure Local cluster

The migration is agentless. Nothing needs to be installed inside the source VMware guest VMs. The Azure portal provides the management and orchestration layer, while the VM data moves locally from VMware to Azure Local.

Agentless vs. Agent-Based Migration

Agentless Migration

Agentless migration is the preferred approach for VMware environments.

  • No Mobility Service or other Azure Migrate agent is installed inside the source VMs.
  • The source Azure Migrate appliance connects to and authenticates with VMware vCenter.
  • The source appliance discovers the VMware VMs and reads their data through VMware snapshots.
  • A separate target appliance receives the replicated VM data on Azure Local.
  • Both appliances must be registered with the same Azure Migrate project.

Agent-Based Migration

Agent-based migration is typically used for physical servers or scenarios where agentless migration is unavailable.

  • The Mobility Service must be installed on each source machine.
  • A dedicated replication appliance is required.
  • The replication appliance coordinates the source machines, replication process, and Azure destination.
  • The replication appliance is different from the Azure Migrate discovery appliance used for agentless VMware migrations.

High-Level Architecture

The migration environment consists of five principal components:

  1. Source VMware environment
    The vCenter and ESXi infrastructure hosting the VMs being migrated.
  2. Source Azure Migrate appliance
    Deployed inside the VMware environment to discover VMs and initiate replication.
  3. Azure Migrate project
    Created in the Azure portal to orchestrate discovery, replication, migration, and status monitoring.
  4. Target Azure Migrate appliance
    Deployed as a Windows Server 2022 VM on Azure Local to receive the replicated workloads.
  5. Azure Local cluster
    The on-premises destination where the migrated VMs will run.

Although Azure Local runs inside the data center, it is registered and managed through the same Azure portal used for public Azure resources.

Prepare the Azure Local Cluster

Before beginning the migration:

  • Deploy and register the Azure Local cluster.
  • Update Azure Local to a supported release. VMware migration to Azure Local is supported on Azure Local 2503 and later.
  • Verify that the Azure Arc Resource Bridge was created successfully.
  • Configure the required logical network.
  • Configure a custom storage path for migrated VM configuration files and operating-system disks.
  • Confirm connectivity between the VMware environment and Azure Local.
  • Have the appropriate Active Directory OU credentials and deployment settings available.

Keeping Azure Local current is especially important because migration fixes—including fixes related to virtual ISO or DVD handling—may be included in newer releases.

Azure Local updates can be reviewed through:

  1. Sign in to the Azure portal.
  2. Open Azure Update Manager.
  3. Under Resources, select Azure Local.
  4. Filter the systems by subscription, resource group, location, status, update readiness, current version, or tags.

Create a Dedicated Azure Migrate Project

Create a new Azure Migrate project specifically for the Azure Local migration.

The project must be created through the Azure portal. Azure Migrate projects created through ARM templates, REST APIs, Azure CLI, or Azure PowerShell currently do not support replication to Azure Local.

Recommended organization:

  • Create a dedicated Azure Migrate project.
  • Use a dedicated resource group for the migration project and related resources.
  • Ensure the project and Azure Local instance are in the same Microsoft Entra tenant.
  • Register one source appliance and one target appliance with the project.

Azure Local migration projects generally use a 1:1 appliance pairing:

  • One source appliance
  • One target appliance
  • One Azure Migrate project

An existing project previously used for VMware discovery or public Azure migration should not be reused for an Azure Local migration.

Deploy the Source Appliance

Deploy the source Azure Migrate appliance in the VMware environment.

The appliance must:

  • Run Windows Server 2022.
  • Have at least 8 vCPUs, 16 GB of memory, and 80 GB of storage.
  • Connect to the VMware vCenter and ESXi hosts.
  • Authenticate to vCenter with the required permissions.
  • Discover the VMs that will be migrated.
  • Register successfully with the Azure Migrate project.
  • Communicate with the target appliance and required Azure services.

No Azure Migrate Mobility Service is required on the source VMware VMs.

If the source VMs already have the Azure Connected Machine Agent installed, uninstall it before beginning replication. Otherwise, the migrated VM may be registered twice after arriving on Azure Local.

Also verify the supported VMware datastore configuration before migration. If the migration release being used supports only VMFS, do not assume that vSAN datastores are supported without confirming the current Microsoft support matrix.

Deploy the Target Appliance on Azure Local

The target appliance runs as a VM on the Azure Local cluster. It receives the replicated VM data and works with Azure Local to provision the migrated VMs.

Minimum appliance configuration

  • Windows Server 2022
  • 8 vCPUs
  • 16 GB RAM
  • 80 GB storage

The target appliance does not need to be joined to the Active Directory domain unless required by the organization’s own administrative policies.

Download the installer

In the Azure portal:

  1. Open Azure Migrate.
  2. Open the new migration project.
  3. Go to Replication.
  4. Select VMware as the source and Azure Local as the target.
  5. Download the target-appliance installation package.

The downloaded ZIP file contains the PowerShell installer:

AzureMigrateInstaller.ps1

Install the appliance

  1. Copy the ZIP file to the Windows Server 2022 VM that will host the target appliance.
  2. Extract the ZIP file to a local folder.
  3. Open PowerShell as Administrator.
  4. Navigate to the extracted folder.
  5. Run:
.\AzureMigrateInstaller.ps1
  1. Follow the on-screen instructions.
  2. Select the correct migration scenario, Azure public cloud, and connectivity method.
  3. Register the appliance with the Azure Migrate project.
  4. Supply and verify the project key.
  5. Confirm that the target appliance appears in the Azure Migrate portal.

The target appliance does not discover the VMware source VMs. Discovery is performed by the source appliance.

Network and Firewall Requirements

Source appliance

Port Direction Purpose
TCP 3389 Inbound Remote administration through RDP
TCP 44368 Inbound Azure Migrate appliance management interface
TCP 443 Inbound/outbound Azure Migrate services and vCenter communication
TCP 902 Inbound/outbound VMware snapshot replication and ESXi heartbeat traffic
TCP 445 Inbound/outbound SMB communication between source and target appliances

Target appliance

Port Direction Purpose
TCP 3389 Inbound Remote administration through RDP
TCP 44368 Inbound Azure Migrate appliance management interface
TCP 443 Outbound Communication with Azure services
TCP 445 Inbound/outbound SMB communication between source and target appliances
TCP 5985/5986 Inbound/outbound WinRM communication with the Azure Local hosts

The source and target environments must also be able to communicate over the on-premises network or through a VPN.

Replication and Migration Are Separate Steps

Replication is required when migrating VMware VMs to Azure Local.

However, the VM disks are not replicated into Azure public cloud. The guest data flows locally from the VMware environment to Azure Local. Azure stores only the metadata and replication-state information required to orchestrate the migration.

The workflow is:

  1. Discover the VMware VMs through the source appliance.
  2. Replicate the selected VMs from VMware to Azure Local.
  3. Wait until the VMs are ready for migration.
  4. Select Migrate in the Azure portal.
  5. Choose whether Azure Migrate should shut down the source VMs.
  6. Perform and verify the migration.
  7. Select Complete migration to remove replication state and temporary migration artifacts.

For the final migration, select Yes when asked whether the source VMs should be shut down. Microsoft recommends shutting them down to prevent data loss during the final cutover.

Why the Migrate Option May Be Unavailable

The Migrate button remains unavailable until the required preparation and replication steps are complete.

Verify that:

  • The Azure Local cluster is deployed and registered.
  • The Azure Arc Resource Bridge is healthy.
  • The target logical network and storage path are configured.
  • The source appliance is registered.
  • The target appliance is registered and visible.
  • The source VMware VMs have been discovered.
  • The selected VMs have been configured for replication.
  • Initial replication has completed.
  • The VMs show the appropriate ready status in the Azure Migrate project.

Troubleshooting the Source Appliance

Check the following:

  • The appliance can authenticate to vCenter.
  • DNS resolves the vCenter and ESXi hostnames.
  • TCP 443 connectivity to vCenter is available.
  • TCP 902 connectivity to the ESXi hosts is available.
  • TCP 445 connectivity between the source and target appliances is available.
  • The appliance is registered with the correct Azure Migrate project.
  • The VMware datastore type is supported.
  • Snapshot-based backup jobs are not conflicting with Azure Migrate replication.
  • The Azure Connected Machine Agent has been removed from source VMs.

Troubleshooting the Target Appliance

Run diagnostics

From the target appliance management interface:

  1. Select Run diagnostics.
  2. Sign in to Azure when prompted.
  3. Review all failed connectivity, registration, service, and endpoint checks.
  4. Resolve each reported error before beginning replication.

Review logs

Appliance logs are generally located under:

C:\ProgramData\Microsoft Azure\Logs

Logs and job details can also be reviewed from the corresponding Azure Migrate project in the Azure portal.

Service endpoint failures

A service-endpoint check usually fails because the appliance cannot reach a required Azure service or private endpoint.

Check:

  • DNS resolution
  • Proxy configuration
  • Firewall rules
  • HTTPS access on TCP 443
  • Private endpoint routing
  • Network Security Group rules
  • Required Azure Migrate and Site Recovery URLs

Discovery expectations

The target appliance does not need to discover the source VMs. It must:

  • Register with the Azure Migrate project.
  • Communicate with the source appliance.
  • Communicate with Azure services.
  • Communicate with the Azure Local hosts and Arc Resource Bridge.
  • Receive replicated VM data.

Virtual DVD or ISO Cleanup Issues

A migration may succeed even if Azure Migrate cannot remove a temporary virtual DVD or seed ISO.

First, verify that Complete migration has been selected. This operation removes the replication state, seed disks, and service-managed migration artifacts without deleting the migrated VM.

If the ISO remains attached:

  1. Open the migrated VM’s settings.
  2. Locate the virtual DVD drive.
  3. Manually eject or detach the ISO.
  4. Confirm that the VM boots normally.
  5. Review the migration job and appliance logs for cleanup errors.
  6. Verify that Azure Local is running the latest supported update.

Final Migration Checklist

Before starting the cutover, confirm that:

  • Azure Local is running a supported and current version.
  • The Azure Local deployment is healthy.
  • The Arc Resource Bridge, logical network, and storage path are configured.
  • A dedicated Azure Migrate project has been created.
  • The source and target appliances are registered with that project.
  • Required firewall ports and URLs are accessible.
  • The source VMs do not contain the Azure Connected Machine Agent.
  • The VMs have been discovered and successfully replicated.
  • The application owners have approved the migration window.
  • The source VMs can be shut down during the final cutover.
  • Post-migration application, network, disk, and boot validation procedures are ready.