Deploy virtual machine scale set instances using availability zones#
Reliability · Virtual Machine Scale Sets · Rule · 2024_09 · Important
Deploy virtual machine scale set instances using availability zones in supported regions to ensure high availability and resilience.
Description#
Virtual machine scale sets (VMSS) supports the use of availability zones to provide redundancy across physically separated zones. When new instances are added to the VMSS as it scales, these instances are deployed across any zones that are configured.
For example:
- If the VMSS is configured to use only Zone 1, all new instances will be created in Zone 1.
- If the VMSS is configured to use three zones (Zone 1, Zone 2, and Zone 3), new instances will be distributed across these zones.
Also note:
- Using availability zones is suitable for stateless workloads.
- During scale-in operations, the number of instances in each zone may not be evenly distributed for all zones.
See documentation references below for additional limitations and important information.
Recommendation#
Consider configuring VM scale sets to spread instances across at least two (2) availability zones to improve resiliency to issues impacting a zone.
Examples#
Configure with Azure template#
To set availability zones for a virtual machine scale set:
- Set
zones
to a minimum of two zones from["1", "2", "3"]
.
For example:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"apiVersion": "2023-09-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"sku": {
"name": "b2ms",
"tier": "Standard",
"capacity": 3
},
"zones": [
"1",
"2",
"3"
]
}
Configure with Bicep#
To set availability zones for a virtual machine scale set:
- Set
zones
to a minimum of two zones from["1", "2", "3"]
.
For example:
resource vmss 'Microsoft.Compute/virtualMachineScaleSets@2023-09-01' = {
name: name
location: location
sku: {
name: 'b2ms'
tier: 'Standard'
capacity: 3
}
zones: [
'1'
'2'
'3'
]
}
Links#
- RE:05 Regions and availability zones
- Availability zone support for Virtual Machine Scale Set
- Azure regions with availability zone support
- Azure resource deployment