Opções de zonas de disponibilidade para o Conjuntos de Dimensionamento de Máquinas Virtuais do Azure

As zonas de disponibilidade do Azure são locais isolados por falhas dentro de uma região do Azure que fornecem energia, resfriamento e rede redundantes. Eles permitem que você execute aplicativos com alta disponibilidade e tolerância a falhas de data center. As regiões Azure que suportam zonas de disponibilidade têm no mínimo três zonas separadas. Cada zona de disponibilidade consiste em um ou mais data centers equipados com energia, rede e resfriamento de infraestrutura independente. As zonas de disponibilidade são conectadas por uma rede de alto desempenho com uma latência de ida e volta inferior a 2 milissegundos. Para mais informações, consulte Visão Geral das zonas de disponibilidade.

Para proteger os seus Conjuntos de Escala de Máquinas Virtuais contra falhas ao nível do centro de dados, pode criar um conjunto de escalas entre as zonas de disponibilidade. Para usar zonas de disponibilidade, seu conjunto de escala deve ser criado em uma região do Azure com suporte.

Para mais informações sobre como os conjuntos de escalas podem ser resilientes a falhas de zonas de disponibilidade e outros tipos de falhas, consulte Confiabilidade no Conjuntos de Dimensionamento de Máquinas Virtuais do Azure.

Escolha uma opção de implementação de zona de disponibilidade

O Conjuntos de Dimensionamento de Máquinas Virtuais suporta três opções de implementação de zonas de disponibilidade. Podes selecionar as zonas tu próprio, usar a colocação automática das zonas para deixar o Azure selecioná-las, ou usar uma implementação regional sem instâncias fixadas por zona.

Opção de implementação Configuration Topologia da zona Quem escolhe as zonas? Utilizar quando
Zonas selecionadas pelo cliente Defina zones, como "zones": ["1", "2", "3"]. Zonal quando especificas uma zona, ou zonal quando especificas múltiplas zonas. Selecionas as zonas que o conjunto de escalas pode usar. A sua carga de trabalho deve usar zonas de disponibilidade específicas.
Posicionamento automático de zonas (Pré-visualização) Defina placement.zonePlacementPolicy como "auto". Por defeito, o Azure cria um conjunto de dimensionamento distribuído por zonas que visa três zonas e requer um mínimo de duas zonas. Para criar um conjunto de escalas de zona única, defina maxZoneCount para 1. O Azure seleciona as zonas dentro das restrições que configura. Queres que o Azure otimize a seleção de zonas com base na capacidade e disponibilidade do SKU.
Regional (não zonal) Não especifique zones nem uma política de posicionamento de zonas. As instâncias regionais não estão presas a zonas de disponibilidade. Não aplicável. A tua carga de trabalho não requer isolamento ao nível da zona nem fixação de zona.

Importante

Não é possível configurar tanto a propriedade zones como o posicionamento automático em zonas no mesmo conjunto de dimensionamento.

As zonas selecionadas pelo cliente e a colocação automática das zonas podem resultar num conjunto de escala zonal (zona única) ou que abrange zonas. As secções seguintes descrevem estas topologias e implementações regionais com mais detalhe.

Abarcamento de zonas

Um conjunto de escala que abrange zonas distribui as instâncias por duas ou mais zonas de disponibilidade. Esta abordagem é semelhante às implementações redundantes de zonas noutros serviços Azure.

Por padrão, o conjunto de escala executa uma abordagem de melhor esforço para distribuir instâncias uniformemente entre as zonas selecionadas. No entanto, é possível especificar que pretende um equilíbrio de zona estrito ao configurar "zoneBalance": "true" na sua implementação. Cada VM e seus discos são zonais, portanto, eles são fixados em uma zona específica. As instâncias entre zonas são conectadas por rede de alto desempenho com baixa latência. No caso de uma interrupção de zona ou problema de conectividade, a ligação com as instâncias dentro da zona afetada pode ser comprometida, enquanto as instâncias noutras zonas de disponibilidade não devem ser afetadas. Pode adicionar capacidade à definição de escala durante uma falha numa zona; neste caso, a definição de escala adiciona mais instâncias às zonas não afetadas. Quando a zona for restaurada, poderá ser necessário reduzir o conjunto de escala para a capacidade original. Uma prática recomendada seria configurar regras de dimensionamento automático com base no uso da CPU ou da memória. As regras de dimensionamento automático permitem que o conjunto de escala responda a uma perda das instâncias de VM numa zona, dimensionando novas instâncias nas zonas restantes que continuam operacionais.

A distribuição de instâncias entre zonas de disponibilidade atende ao SLA de 99,99% para instâncias espalhadas por zonas de disponibilidade e é recomendada para a maioria das cargas de trabalho no Azure.

Pode configurar um conjunto de dimensionamento que abrange várias zonas selecionando manualmente várias zonas ou utilizando o posicionamento automático em zonas. Por defeito, a colocação automática das zonas visa três zonas de disponibilidade e requer um mínimo de duas zonas.

Alinhamento zonal ou de zona (zona única)

Um conjunto de escala zonal ou alinhado com zonas coloca as instâncias numa única zona de disponibilidade. Cada VM e seus discos são zonais, portanto, eles são fixados em uma zona específica. Essa configuração é usada principalmente quando você precisa de latência mais baixa entre instâncias.

Pode configurar um conjunto de escalas de zona única selecionando uma zona por si próprio ou definindo maxZoneCount para 1 com a colocação automática das zonas.

Regional (não zonal)

Um Conjunto de Escala Regional (não zonal) de Máquina Virtual é quando a atribuição de zonas não está explicitamente definida ("zones"=[] ou "zones"=null). Nesta configuração, o conjunto de escalas cria instâncias regionais (não pertencentes a zonas específicas) e coloca implicitamente as instâncias por toda a região. Não há garantia de equilíbrio ou distribuição entre zonas, ou que os casos aterrissem na mesma zona de disponibilidade. A colocation de disco é garantida para discos Ultra e Premium v2, o melhor esforço para discos Premium V1 e não é garantido para discos Standard SKU (SSD ou HDD).

No raro caso de uma interrupção total da zona, qualquer ou todas as instâncias dentro do conjunto de escalas podem ser afetadas.

Domínios de falha e zonas de disponibilidade

Um domínio de falha é um grupo de isolamento de falhas dentro de uma zona de disponibilidade ou datacenter de nós de hardware que compartilham o mesmo cronograma de manutenção de energia, rede, resfriamento e plataforma. As instâncias de VM que estão em domínios de falha diferentes provavelmente não serão afetadas pela mesma interrupção planejada ou não planejada. Você pode especificar como as instâncias são distribuídas entre domínios de falha dentro de uma região ou zona.

  • Propagação máxima (platformFaultDomainCount = 1)
  • Propagação fixa (platformFaultDomainCount = 5)
  • Disseminação fixa alinhada com domínios de falha de disco de armazenamento (platformFaultDomainCount = 2 ou 3, apenas para implementações regionais (não zonais)

Com a propagação máxima, o conjunto de escala distribui suas VMs pelo maior número possível de domínios de falha dentro de cada zona. Essa dispersão pode ser maior ou menor que cinco domínios de falha por zona. Com a distribuição estática fixa, o conjunto de escala distribui as suas máquinas virtuais pelo número especificado de domínios de falha. Se o conjunto de escalas não puder alocar pelo menos o número de domínios de falhas especificado para satisfazer o pedido de alocação, o pedido falhará.

Recomendamos a implantação com distribuição máxima para a maioria das cargas de trabalho, pois essa abordagem fornece a melhor distribuição na maioria dos casos. Se precisar que as réplicas sejam distribuídas por unidades de isolamento de hardware distintas, recomendamos que se distribuam por zonas de disponibilidade e utilizem a máxima distribuição em cada zona.

Nota

Com a propagação máxima, você vê apenas um domínio de falha na exibição da instância da VM do conjunto de escala e nos metadados da instância, independentemente de quantos domínios de falha as VMs estão espalhadas. A propagação dentro de cada zona está implícita.

Grupos de colocação

Importante

Os grupos de posicionamento só se aplicam a Conjuntos de Dimensionamento de Máquina Virtual em execução no modo de orquestração Uniforme.

Quando implementas um conjunto de escala, podes implementar com um único grupo de colocação por zona de disponibilidade, ou com vários por zona. Para conjuntos de escala regionais (não zonais), a escolha é ter um único grupo de colocação na região ou ter vários na região. Se a propriedade do conjunto de escala chamada singlePlacementGroup for definida como false, o conjunto de escala poderá ser composto por vários grupos de posicionamento e terá um intervalo de 0 a 1.000 VMs. Quando definido como o valor padrão de true, o conjunto de escala é composto por um único grupo de posicionamento e tem um intervalo de 0 a 100 VMs. Para a maioria das cargas de trabalho, recomendamos vários grupos de posicionamento, o que permite maior escala. Na versão de API 2017-12-01, os conjuntos de dimensionamento, por padrão, utilizam múltiplos grupos de colocação, tanto para conjuntos de dimensões numa única zona como entre zonas, mas utilizam por padrão um grupo de colocação único para conjuntos de dimensão regionais (não zonais).

Nota

Se você usar a dispersão máxima, deverá usar vários grupos de posicionamento.

Balanceamento de zona

A colocação em zona determina quais as zonas de disponibilidade que um conjunto de escalas pode usar ao colocar novas instâncias. O balanceamento de zonas controla quão uniformemente as instâncias são distribuídas por essas zonas após a seleção das zonas elegíveis.

Para conjuntos de escalas que abrangem várias zonas, escolha entre melhor esforço e equilíbrio estrito de zonas. O equilíbrio de zonas aplica-se independentemente de selecionar as zonas ou usar a colocação automática das zonas. Para mais informações, consulte Balanceamento de Zonas em Conjuntos de Dimensionamento de Máquinas Virtuais.

O equilíbrio de zonas também é diferente do Equilíbrio Automático de Zonas. O balanceamento de zonas controla a distribuição das instâncias durante as operações de escalabilidade. O Equilíbrio Automático de Zonas deteta proativamente desequilíbrios existentes e corrige-os criando uma VM substituta numa zona sub-provisionada e eliminando uma VM de uma zona sobre-provisionada.

Próximos passos