Early last year I ran into an issue where we needed to move virtual machines from ESXi 5.5 to Azure. Although the support matrix said that both vSphere 5.5 and Windows 2003 were supported by the migration tool, we could successfully migrate the VM using the migration tool as I demonstrated in an earlier post.
What we ended up doing instead was using Veeam to migrate the VM to Azure. I had heard of this from a Veeam rep at a conference a few years prior, but until that point, I never had a use case for that information. Below I will demonstrate how to migrate a VM from vSphere 7 to Microsoft Azure using the Veeam restore feature. In this example, I’m using a Server 2022 VM, but it will work similarly for any Windows VM.
- An existing Azure subscription
- Azure Storage Account
- A backup of the VM you would like to migrate (with RDP enabled)
- An existing network security group with an inbound rule allowing RDP
Step 1: Ready the Veeam Environment
The first thing we will need to do is ready the Veeam environment. The way we do this is a little counterintuitive. We will start by clicking Restore in the home ribbon in Veeam.
Then we will choose “Restore from Backup”.
Next, we will choose “Entire VM Restore”.
Then select “Restore to Public Cloud”
Finally, click on “Restore to Microsoft Azure”
Now that you have navigated through the menus above, you will be presented with a menu asking you to perform the initial configuration. Click “Yes”.
The initial configuration screen is of no consequence. Just click “Next”
The next screen is where you will choose the deployment type. The choices are between the Gov, China, and Global Azure accounts. The default is fine. Click “Next”.
The next screen will allow you to add new Azure credentials or use an existing one. If you choose to add new credentials, which I have chosen to do here, you will likely see the error message displayed below. Veeam uses Azure PowerShell to connect to Azure and the wizard will prompt you to install Azure PowerShell. This is an easy process because the link given will help you install Azure PowerShell in a few clicks.
Note: The language in the screen below is a bit imprecise. “Create a new account” does not actually create a new account. It simply configures existing Azure credentials and saves them to Veeam.
With the installation finished you are now prompted to enter your Azure credentials.
Step 2: Perform the Restore
The wizard will ask you to add a VM to be restored. I have chosen to restore from a backup as you see below.
Note: Your VM should have RDP and DHCP enabled. If not, you will not be able to connect to the machine once it is restored.
Next, you will choose the region where the VM will be restored to. Remember that this region must be the same as your storage account.
Now, you must choose the VM size and the storage account. This is a good opportunity to resize the VM if it was previously too large.
Next, you’re given the opportunity to place the VM in an existing resource group or to create a new resource group.
Now, you’re able to choose the network and network security group.
Note: I chose to assign a public IP for testing purposes. But normally, you would have either an express route or a VPN from on-prem.
The last item to configure is whether or not to scan the restored VM for malware prior to recovery. I chose not to do this because my VM is a fresh install of Server 2022.
Finally, the restoration will start and you will be able to watch the progress similar to the screen below.
Step 3: Verifying the VM Restoration
Once your VM has completed its restoration process, you’ll want to make sure that you can connect to it. First, you will need to navigate to the resource in Azure, click “Connect” and download the RDP file.
You should be able to open the RDP file and connect directly to the VM.
Using Veeam restore to migrate VMs to the cloud can be a great alternative to using the Azure Migration tool.