In my previous post(https://itsolutionsdirect.com/designing-vm-deployments-by-leveraging-availability-sets-fault-domains-and-update-domains-in-azure/904/) we discussed the theory behind Azure Availability Sets and how to implement them. Whilst Azure Availability Set’s protect you from host maintenance/failure within the datacentre, they do not protect you from a complete datacentre failure. This is where Azure Availability Zones come into play.
When you deploy an VM’s into an Availability Zone you deploy them to a region, which contains multiple datacentres. The diagram below show’s this:
However, there are certain limitations when using this service. At the time of writing we can only use Availability Zones in the regions below. It is currently in Public Preview mode so I suspect this was be deployed to more regions once it goes out of Preview mode.
- East US 2
- West Europe
- France Central
It is also limited to the following services:
- Linux Virtual Machines
- Windows Virtual Machines
- Zonal Virtual Machine Scale Sets
- Managed Disks
- Load Balancer
- Public IP Address
If you are deploying virtual machines only the following machine size families are supported:
- AV2
- DV2
- DSV2
OK so that’s the theory over with, let’s go and deploy a VM into an availability zone.
First step is to enable availability zones on our account. Head over to the URL listed on https://azure.microsoft.com/en-us/updates/azure-availability-zones/ and this will give you the option to enable the availability zone
Once you have selected which subscription you want the preview to be associated with you should see the Feature Status change to enabled. It took around 20 minutes for mine to be enabled.
Now that we have enabled the Availability zone we can assign an availability zone to a virtual machine. As discussed previously please ensure that the VM type matches the supported VMs
I picked a DS2_V2 VM to use for this example
Now when we reach the settings page we should see the option to assign an availability zone of either 1, 2 or 3. So for example if we were creating 3 separate VM’s for say a Citrix StoreFront severs, we would create VM1 in AZ1, VM2 in AZ2, and VM3 in AZ3. This would ensure us protection from 3 separate datacentre failures.
I hope you enjoyed this article and if you have any questions please leave a comment below