Oftentimes you will want to deploy a highly available Elasticsearch cluster that stays online even in the face of instance or zone failure. Azure has several concepts to manage Availability.
Master, data and coordinating node VMs are grouped in their own Availability sets, so that at least one machine is available within a datacentre during a planned or unplanned maintenance event.
The template does not currently use Availability zones since they are not yet available in all Azure regions to which the template can be deployed. It is expected that the template will use Availability zones in the future.
Each Availability set has 20 Update domains and two or three Fault domains, depending on how many Fault domains the selected Azure location supports. When VMs are provisioned, they are round-robin assigned an Update domain and Fault domain.
- Update domains
- Indicates a group of virtual machines and underlying physical hardware that can be rebooted at the same time.
- Fault domains
- Indicates a group of virtual machines that share a common power source and network switch. While placing your virtual machines into an availability set does not mitigate operating system or Elasticsearch operation failures, it does limit the impact of potential physical hardware failures, network outages, or power interruptions.
When Elasticsearch is installed onto the VM, the Update and Fault domains in which the VM resides are specified as node attributes in the elasticsearch.yml configuration file. Shard allocation awareness is configured taking into account these Fault domain and Update domain attribute values.