For reference in the below post:
Azure Service Manager = ASM
Azure Resource Manager = ARM
My current client have over 75 VMs that sit within Azure Service Manager (Azure Classic). The majority of these production VMs do not warrant a project to spin up new VMs and move across the services.
After some investigation into possible ways to migrate a VM from ASM > ARM. I found MigAz (https://github.com/Azure/migAz) – This tool can migrate from Classic to ARM, ARM to ARM and currently being developed work with AWS.
This free to use tool will export scripts to JSON files and a powershell scripts to migrate your selected VM from one environment to the next. It also works across Subscription so if your like my current client and each environment is separated by subscription this tool can be very useful.
The tool is self explanatory, the only thing that I would point out is I was caught out when moving ARM > ARM that the managed disks by default only have a 60 minute token. So when copying large amounts of data (I copied around 600gb and it was taking about 6-7 hours).
You will need to go into the options of the program and increase the metric for: Managed Disk Access SAS Duration.
I’ve now used this tool to migrate around 40% of the VM’s, of all different sizes and I could not recommend this tool enough.