How to Copy Azure Images to Other Subscriptions or Regions

The Azure image was introduced in 2014 by Microsoft. It's a more comprehensive image for Microsoft Azure Virtual Machines. Azure is a highly available cloud. Solution design needs to always take failover and tolerance into account. Therefore, copy Azure images to other subscriptions or regions is something we need to consider.

There are three methods to copy Azure images to other subscriptions or regions:

Option 1

Firstly, the easiest way to achieve that is to use the Image Gallery. It's introduced in the middle of 2019. As Microsoft states: "Shared Image Gallery provides a simple way to share your applications with others in your organization, within or across Azure Active Directory (AD) tenants and regions. This enables you to expedite regional expansion or DevOps processes and simplify your cross-region HA/DR setup."

The high-level procedure is to create a new Image Gallery, create image definition and version, and then add replica regions in the version. If you want to use the image gallery in other subscriptions. You need to grant proper access permission of other subscriptions accounts to the image gallery through RBCA.

Option 2

The first solution above is GUI based. I'm a super fan of scripting. In other words, I prefer to use Azure CLI to achieve it. The official Azure CLI doesn't contain the image copy command. However, there is an Azure CLI Image Copy Extension you can use. Basically, it copies the source image's virtual disk file to destination subscriptions or regions.

You need to install Azure CLI, and then install the extension use the command below.

az extension add --name image-copy-extension

Option 3

The last option is actually the manual process of the secondary solution. Basically, you need to create a new VM from the source image, and then move the VM to the other subscriptions or regions. Finally, capture an image by the moved VM. This is not my recommendation.

Popular posts from this blog

Moving to

How to Use Proxy on WSL 2

Connect-NsxtServer shows "Unable to connect to the remote server"