It has been announced few months ago at the Microsoft Build 2019 conference. Shared Image Gallery is now generally available in all region, except South Africa as source region (details available here https://docs.microsoft.com/en-us/azure/virtual-machines/windows/shared-image-galleries#regional-support)
With Shared Image Gallery you can now manage, share and distribute custom virtual machine images easily.
There are few limits to be aware of:
- 100 shared image galleries per subscription per region
- 1,000 image definitions per subscription per region
- 10,000 image versions per subscription per region
These limits can be increased on a per request basis.
There is no extra cost for this service; the only cost is the cost of storage within each region (source and target).
Before you can start using the Shared Image Gallery, you need of course to have create at least one custom image – see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/tutorial-custom-images for a tutorial.
Then check if the provider Microsoft.Compute has been registered; NOTE if you used the Shared Image Gallery during the preview it is recommended to re register the provider by using the Azure PowerShell (either from the Cloud Shell (https://shell.azure.com/bash) or the latest Azure PowerShell module version) and running the command
az provider register -n Microsoft.Compute
Then you can create your Shared Image Gallery by search Shared Image Gallery
Not much to define when creating the gallery, just the usual subscription, resource groups and location.
Once the gallery is created you can add your custom image definition
You will have to define the OS (Windows or Linux), OS/distribution version, offer and SKU. These are free text field. You can define your own value; you should use clear and understandable values as this will be used then to identify the image you are sharing.
Then you can define the version of your image by selection the source custom image, version (must be in Major.Minor.Patch format – 1.0.0). You can also define an end of life for the shared image
Then you define at least one replica
Finally you define additional image metadata (EULA, description, publisher…); these fields are optional but highly recommended to set. You can also define a recommended virtual machine size when deploying the image
You are done, you custom image is being shared and replicated
To share the image(s) you need to grant Reader access to the user(s)/group(s) you want to give access to the shared gallery. This can be user(s)/group(s) external to your organization.
When getting back to the gallery you will see the list of all shared images
If you click on the image name you will be able to update it (add a version), see the replication status (Image version blade), update the recommended VM size (Configuration blade) or create virtual machine based on the image
Or you can create the virtual machine from the VM blade by selecting Browse all images and then accessing the My items tab and the Shared Images