Introduction

Since ARM was introduced to the public, everyone migrates from ASM to ARM. This can be accomplished using a very cool tool called MigAz. This tool has also the capability to move resources from an Azure Directory to another with no downtime if NO data disks are attached.

Prerequisites

  • Microsoft Azure Account(s)
  • Subscription Type (CSP, EA, PayAsYouGo)
  • MigAz tool, we can download latest version from this link
  • Azure Powershell Module, latest version.
  • Windows Server Editions (2012, 2012 R2, 2016)
  • Windows Desktop Editions (8, 8.1, 10)

Note: The AWS MigAz is not yet integrated into the v2 project baseline and remains available via the AWS folders. (AWS Release)

What MigAz can do

MigAz tool can do the following:

ASM(v.1) to ARM(v.2) Migration

With this functionality, we can migrate the ASM IaaS workloads to ARM templates. What happens behind the scene, is first copying the blobs to a storage account and deploying the resources using an ARM Template.

ARM(v.2) to ARM(v.2) Migration

This is more simple than the previous one, because the resources are already in ARM and we just want to move the resources to another account or subscription.

AWS to ARM(v.2) Migration

The MigAz tool also provides the functionality to migrate resources from AWS Infrastructure to Azure ARM.

How MigAz Works

To understand how MigAz works, we are going to see a demo in the following steps.

Important: Before we get started we must now that the logs are saved in the location %USERPROFILE%\appdata\Local with the file name MigAz-<YYYYMMDD>.log and MigAz-XML-<YYYYMMDD>.log. 

At the following steps we describe the procedure that we must follow to migrate the Azure resources.

  1. Sign into the source Azure Subscription
  2. Select the resources that we want to migrate to the target Azure Subscription

At the table below there are few alerts that we must solve to proceed to the next step, which is to Export the Objects.

Alert TypeMessage
ErrorTarget Resource Group Location must be provided for template generation
WarningTarget Storage Account ‘igratetodiagv2’ is not utilized within this Resource Group Deployment as a Virtual Machine Disk Target. Consider removing to avoid creation of a non-utilized Storage Account.
WarningVirtual Machine ‘MigVM’ is not part of an Availability Set. OS Disk should be migrated to Azure Premium Storage to receive an Azure SLA for single server deployments. Existing configuration will receive no (0%) Service Level Agreement (SLA).
RecommendationConsider using disk size 128GB (P10), as this disk will be billed at that capacity per Azure Premium Storage billing sizes.

 

Checking The Errors / Warnings / Recommendations:

The Errors

Error 01.Target Resource Group Location must be provided for template generation.

Solution 01. Type a Name for the Target Resource Group and Select a Location.

The Warnings

Warning 01.Target Storage Account ‘igratetodiagv2’ is not utilized within this Resource Group Deployment as a Virtual Machine Disk Target. Consider removing to avoid creation of a non-utilized Storage Account.

Solution 01. From the left side in the MigAz tool, uncheck the igrateodiag which is the diagnostics storage account.

Warning 02. Virtual Machine ‘MigVM’ is not part of an Availability Set. OS Disk should be migrated to Azure Premium Storage to receive an Azure SLA for single server deployments. Existing configuration will receive no (0%) Service Level Agreement (SLA).

Solution 02. The solution for this warning as the message said is that the disk should be migrated without Availability Set SLA.

The Recommendations

Recommendations 01. Consider using disk size 128GB (P10), because the new disk will be billed at that capacity, as per Azure Premium Storage billing sizes.

Solution 01. Change the Size value from 127 to 128.

Export Objects

After we solve the errors, warnings and recommendations we are ready to Export the Objects by clicking the button [Export Objects],these objects will export to the specified path {D:\MigAz_Demo\Release\}

To begin the deployment, we must click the {Show Deployment Instructions}.

An HTML page will open, and we must run the Powershell command to begin the deployment.

The Deployment

We must open an elevated Powershell window, copy & paste the code

& 'D:\MigAz_Demo\Release\MigAz.ps1' -TenantId 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' -SubscriptionId 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyy' -AccountId 'mailaccount@outlook.com' -AccessToken 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -ResourceGroupName "TargetResourceGroup" -ResourceGroupLocation "westeurope" -TemplateFile "D:\MigAz_Demo\Release\TargetResourceGroup.json" -TemplateParameterFile "D:\MigAz_Demo\Release\TargetResourceGroup_Parameters.json" -BlobCopyFile "D:\MigAz_Demo\Release\TargetResourceGroup_BlobCopy.json"

After the Deployment Ends, the two temporary storage accounts will be removed.

At the next image we are able to see the resources that MigAz migrated from one Azure Account to another.

Note: The Recovery Services vault can’t be migrated with MigAz.

 

Share This