1 Get your VM list
From Azure recommended
- In the Azure portal, open Resource Graph Explorer.
- Copy this query. Paste it in the query box and select Run query. The query only reads data. It does not change anything.
- Select Download results as CSV. Then load the file in step 2.
The query lists each VM in the subscriptions that you can see. It gives the facts that this tool needs, for example the size, generation, OS image, NICs, disks, accelerated networking and Azure Disk Encryption.
By hand
If you make the list yourself, use the template. Only VM name, Current size and Generation are necessary. If one of these three columns is empty, the result is "Not checked". If another column is empty, the details of the VM show that fact under "To check". This tool does not show an empty column as a pass.
In Excel, select the rows and the header row. Copy them. Paste them in step 2.
2 Give the list to this tool
3 Results
Select a VM to see what to do, the steps before the move, and the sizes.
| VM | Current size | Lifecycle stage | Result | v5 | v6 | v7 | Burstable |
|---|
- The table shows size names without "Standard_". The details and the download files show the full names.
- "Supported" means that Azure lets you move this VM to the new size. It does not mean that the VM is ready to move.
- A move is a resize, a rebuild or a new VM in parallel. In a resize, Azure changes the size of the same VM. In a rebuild, you make a new VM with the same disks. For v6 and v7, you deploy a new VM in parallel and move the workload to it. A new VM gets a new system-assigned identity, and a rebuild removes Azure Disk Encryption.
- This tool does not check if a size is available in your region.
- The workload type under each VM name tells you how to move the VM. The query gives each scale set and AKS node pool as one row.
Privacy, and how to make sure that no data leaves your browser
- This tool runs only in your browser. There is no server. GitHub Pages sends the page as plain HTML and JavaScript. Anyone can read the code.
- A Content-Security-Policy in the page stops scripts from other sites. It also stops the page when it tries to send data to a server (
connect-src 'none'). The code of the page has no other way to send data. - To make sure: Open the developer tools of your browser (F12). Select the Network tab. Then load a list and show the results. The page sends no request when it reads the list or makes the results.
- You can also disconnect from the internet after the page opens. The tool continues to work in that open tab.
- Your browser makes the results files. The download saves them on your computer. The page does not send them over the network.
The sources of the answers
The target sizes that this tool suggests
| Series | Families | For which VMs | Example |
|---|---|---|---|
| v5 | D, E | Generation 1 and Generation 2 VMs | Standard_D4s_v5 |
| v6 | D, E | Generation 2 VMs | Standard_D4s_v6 |
| v6 | F (Falsv6) | F, Fs and Fsv2 VMs, as one of the ranked sizes | Standard_F4als_v6 |
| v7 | D, E | Generation 2 VMs | Standard_D4s_v7 |
| v7 | F | F, Fs and Fsv2 VMs, as one of the ranked sizes | Standard_F4alds_v7 |
| Burstable | Bsv2, Basv2 | B v1, Av2 and Amv2 VMs | Standard_B2s_v2 |
The D and E families include their AMD (a) and lower-memory (l) sizes, for example Standard_D4as_v6 and Standard_D4ls_v6. The sources are the Microsoft v6 and v7 modernization overview and the Microsoft guide for retired sizes.