Deploy Custom Images At Scale

by Alan
Last updated: 19/12/2016

Cost estimate


Estimated monthly cost

Understand how this was calculated and customise it to your needs

Pricing calculator

This template allows you to deploy custom images at scale with options to use VM Scale Sets, regular VMs, or regular VMs in an availability set.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.


Parameter Name Description
uniquePrefix This unique prefix will be used on all the objects created as part of this template.
transferVMSize Size of the VM used to transfer the VM image to various storage accounts.
computeVMSize Size of the VMs to be used for actual computation.
computeOSType Compute OS Type
deploymentType This determines whether the VMs will be deployed using scale sets, as individual VMs, or individual VMs in an availability set (maximum 100 for the last option).
numberOfSAs Number of Storage Accounts to upload the custom image to.
instanceCountPerSA Number of VMs per Storage Account.
imageLocation URL of the base custom image, in the format of
storageAccountKey Storage Account key for accessing the base custom image.
adminUsername Admin username for the VMs in the deployment.
adminPassword Admin password for the VMs in the deployment.

Use the template

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri
Installing and configuring Azure PowerShell
Command line
azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri
Installing and configuring the Azure cross-platform command-line interface