Back to Azure Resource templates index <–
![]()
Azure Virtual Machine Scale Set
Template Locations
Infrastructure As Code Advisor (Beta)
WAF-compliance
The WAF-compliance advisor validates templates based on the Well Architected Framework practices. Every day a GitHub Action updates the templates compliance data and lists the recomendations.
Sustainbility Advisor
The sustainability advisor is based on the Sogeti Cloud Reference Architecture with sustainble practices. These sustainble practices cover application code, cloud infrastructures and data. The global Sogeti community is continously evolving the sustainble practices and every day new and tuned are added. For cloud infrastructures the sustainble practices are automatically validated and reported below.
note: when 100% it can be that there is no sustainble practices yet for this Cloud infrastructure.
Online documentation
Template reference
Service description
Requirements
- Resource group must be created with a valid name and location.
- Virtual Network must be created with a valid name and location.
Input values
- tagBillingIdentifier: Cost Center.
- vmSize: The size of each virtual machine in the scale set. Some sizes may only be available using templates, PowerShell, or CLI due to the recommended portal defaults.
- zone: Zones denote the usage type of the VM Scale Set. Eg: External, Internal, Production & Management.
- vmIndexOffset: Index from where the VM Scale Set creation will be started.
- instanceCount: The number of virtual machines in the scale set (0 - 100).
- adminUsername: Admin Username for the virtual machines.
- adminPassword: Admin Password for the virtual machines.
- existingVnetResourceGroupName: Resource Group name of the existing Virtual Network.
- existingVnetName: Name of the existing Virtual network.
- existingSubnetName: Name of the subnet where the VM Scale Set would be deployed. This subnet must be present prior to deploy of this template.
Output values
- LoadBalancerName
- PublicIPAddress
- VirtualMachineScaleSet
Compliance Advisor details
Resource Health Result
| Message | ResourceType | Severity |
|---|---|---|
| Location for the resource should not be hardcoded, it should be parameterized and should refer from Resource Group's location i.e. [resourceGroup().location] | Microsoft.Compute/virtualMachineScaleSets | 2 |
| Your current API Version i.e.2019-12-01 for the resource Microsoft.Compute/virtualMachineScaleSets is outdatedconsider updating to new recent version available i.e. 2023-03-01 or 2022-11-01 | Microsoft.Compute/virtualMachineScaleSets | 2 |
| Location for the resource should not be hardcoded, it should be parameterized and should refer from Resource Group's location i.e. [resourceGroup().location] | Microsoft.Network/publicIPAddresses | 2 |
| Your current API Version i.e.2017-04-01 for the resource Microsoft.Network/publicIPAddresses is outdatedconsider updating to new recent version available i.e. 2023-04-01 or 2023-02-01 | Microsoft.Network/publicIPAddresses | 2 |
| Location for the resource should not be hardcoded, it should be parameterized and should refer from Resource Group's location i.e. [resourceGroup().location] | Microsoft.Network/loadBalancers | 2 |
| Your current API Version i.e.2017-04-01 for the resource Microsoft.Network/loadBalancers is outdatedconsider updating to new recent version available i.e. 2023-04-01 or 2023-02-01 | Microsoft.Network/loadBalancers | 2 |
| It is recommended to use below property for your resource Microsoft.Compute/virtualMachineScaleSets { "priority": "Spot" }Using Azure Spot Virtual Machines allows you to take advantage of our unused capacity at a significant cost savings. At any point in time when Azure needs the capacity back, the Azure infrastructure will evict Azure Spot Virtual Machines. Therefore, Azure Spot Virtual Machines are great for workloads that can handle interruptions like batch processing jobs, dev/test environments, large compute workloads, and more | Microsoft.Compute/virtualMachineScaleSets | 1 |
| It is recommended to use below property for your resource Microsoft.Compute/virtualMachineScaleSets securityProfileVirtual Machine scale sets do not have encryption at host enabled Use encryption at host to get end-to-end encryption for your virtual machine and virtual machine scale set data. Encryption at host enables encryption at rest for your temporary disk and OS/data disk caches. Temporary and ephemeral OS disks are encrypted with platform-managed keys when encryption at host is enabled. OS/data disk caches are encrypted at rest with either customer-managed or platform-managed key, depending on the encryption type selected on the disk. | Microsoft.Compute/virtualMachineScaleSets | 1 |
| To help other contributors understand the purpose of the resource, specify comments for each resource in the template | Microsoft.Compute/virtualMachineScaleSets | 1 |
| It is recommended to parameterized your tag and make it as object type | Microsoft.Compute/virtualMachineScaleSets | 1 |
| To help other contributors understand the purpose of the resource, specify comments for each resource in the template | Microsoft.Network/publicIPAddresses | 1 |
| It is recommended to parameterized your tag and make it as object type | Microsoft.Network/publicIPAddresses | 1 |
| To help other contributors understand the purpose of the resource, specify comments for each resource in the template | Microsoft.Network/loadBalancers | 1 |
| It is recommended to parameterized your tag and make it as object type | Microsoft.Network/loadBalancers | 1 |
TemplateParameterHealthResult
| Message | Severity |
|---|---|
| Define default values for parameters that aren't sensitive. By specifying a default value, it's easier to deploy the template, and users of your template see an example of an appropriate value i.e. tagBillingIdentifierRead More | 1 |
| It is recommended to make your parameter as camel case, wherever possible for i.e. locationRead More | 1 |
| It is recommended to make your parameter as camel case, wherever possible for i.e. zoneRead More | 1 |
TemplateVariableHealthResult
| Message | Severity |
|---|---|
| It is recommended to make your variable as camel case, wherever possible for e.g. environmentRead More | 1 |
Sustainable Advisor details
| Message | ResourceType | Severity |
|---|---|---|
| It is recommended to use below property for your resource Microsoft.Compute/virtualMachineScaleSets { "priority": "Spot" }Using Azure Spot Virtual Machines allows you to take advantage of our unused capacity at a significant cost savings. At any point in time when Azure needs the capacity back, the Azure infrastructure will evict Azure Spot Virtual Machines. Therefore, Azure Spot Virtual Machines are great for workloads that can handle interruptions like batch processing jobs, dev/test environments, large compute workloads, and more | Microsoft.Compute/virtualMachineScaleSets | 1 |