Confiabilidade em conjuntos de dimensionamento de máquinas virtuais
Este artigo contém informações sobre o suporte a zonas de disponibilidade para Conjuntos de Dimensionamento de Máquinas Virtuais.
Nota
Os Conjuntos de Dimensionamento de Máquina Virtual só podem ser implantados em uma região. Se você quiser implantar VMs em várias regiões, consulte Máquinas Virtuais - Recuperação de desastres: failover entre regiões.
Suporte à zona de disponibilidade
As zonas de disponibilidade são grupos fisicamente separados de datacenters dentro de cada região do Azure. Quando uma zona falha, os serviços podem fazer failover para uma das zonas restantes.
Para obter mais informações sobre zonas de disponibilidade no Azure, consulte O que são zonas de disponibilidade?.
Com os Conjuntos de Dimensionamento de Máquina Virtual do Azure, você pode criar e gerenciar um grupo de VMs com balanceamento de carga. O número de VMs pode aumentar ou diminuir automaticamente em resposta à demanda ou a um cronograma definido. Os conjuntos de dimensionamento fornecem alta disponibilidade para seus aplicativos e permitem que você gerencie, configure e atualize centralmente muitas VMs. Não há custo para o conjunto de escalas em si. Só paga por cada instância de VM que cria.
Os Conjuntos de Dimensionamento de Máquina Virtual suportam implantações com redundância de zona e zona dentro de uma região:
Implantação zonal. Ao criar um conjunto de escala em uma única zona, você controla em qual zona todas as VMs desse conjunto são executadas. O conjunto de dimensionamento é gerenciado e dimensionado automaticamente somente dentro dessa zona.
Implantação com redundância de zona. Um conjunto de escala redundante de zona permite criar um único conjunto de escala que abrange várias zonas. Por padrão, à medida que as VMs são criadas, elas são equilibradas uniformemente entre as zonas.
Pré-requisitos
Para usar zonas de disponibilidade, seu conjunto de escala deve ser criado em uma região do Azure com suporte.
Todas as VMs - até mesmo as VMs de instância única - devem ser implantadas em um conjunto de escala usando o modo de orquestração flexível para preparar seu aplicativo para dimensionamento e disponibilidade para o futuro.
SLA
Como as zonas de disponibilidade são fisicamente separadas e fornecem fontes de energia distintas, a rede e o resfriamento - os contratos de nível de serviço (SLAs) são aumentados. Para obter mais informações, consulte o SLA do Microsoft Online Services.
Criar um Conjunto de Dimensionamento de Máquina Virtual com zonas de disponibilidade ativadas
Você pode criar um conjunto de escala que usa zonas de disponibilidade com um dos seguintes métodos:
O processo para criar um conjunto de escala que usa uma implantação zonal é o mesmo detalhado no artigo de introdução. Ao selecionar uma região do Azure com suporte, você pode criar um conjunto de escala em uma ou mais zonas disponíveis, conforme mostrado no exemplo a seguir:
O conjunto de escala e os recursos de suporte, como o balanceador de carga do Azure e o endereço IP público, são criados na zona única que você especificar.
Suporte a failover zonal
Os Conjuntos de Escala de Máquina Virtual são criados com cinco domínios de falha por padrão em regiões do Azure sem zonas. Para as regiões que oferecem suporte à implantação de zona de disponibilidade de Conjuntos de Escala de Máquina Virtual e essa opção está selecionada, o valor padrão da contagem de domínio de falha é 1 para cada uma das zonas. Nesse caso, FD=1 implica que as instâncias de VM pertencentes ao conjunto de escala estão espalhadas por muitos racks com base no melhor esforço. Para obter mais informações, consulte Escolhendo o número certo de domínios de falha para o Conjunto de Dimensionamento de Máquina Virtual.
Design de baixa latência
É recomendável configurar Conjuntos de Dimensionamento de Máquina Virtual com redundância de zona. No entanto, se seu aplicativo tiver requisitos estritos de baixa latência, talvez seja necessário implementar um zonal para suas VMs de conjuntos de escala. Com uma implantação de conjuntos de escala zonal, é recomendável criar várias VMs de conjunto de escala em mais de uma zona. Por exemplo, você pode criar uma instância de conjuntos de escala fixada na zona 1 e uma instância fixada na zona 2 ou 3. Você também precisa usar um balanceador de carga ou outra lógica de aplicativo para direcionar o tráfego para os conjuntos de escala apropriados durante uma interrupção de zona.
Importante
Se você optar por não participar da implantação com reconhecimento de zona, renunciará à proteção contra o isolamento de falhas subjacentes. A exclusão da configuração da zona de disponibilidade força a dependência de recursos que não obedecem ao posicionamento e à separação da zona (incluindo dependências subjacentes desses recursos). Não se deve esperar que esses recursos sobrevivam a cenários de zone-down. As soluções que aproveitam esses recursos devem definir uma estratégia de recuperação de desastres e configurar uma recuperação da solução em outra região.
Técnicas de implementação seguras
Para ter mais controle sobre onde você implanta suas VMs, você deve implantar VMs de conjunto de escala zonal, em vez de regional. No entanto, as VMs zonais fornecem apenas isolamento de zona e não redundância de zona. Para obter redundância total de zona com VMs zonais, deve haver duas ou mais VMs em zonas diferentes.
Também é recomendável que você use a opção de implantação de dispersão máxima para suas VMs com redundância de zona. Para obter mais informações, consulte as opções de distribuição.
Opções de distribuição
Ao implantar um conjunto de dimensionamento em uma ou mais zonas de disponibilidade, você tem as seguintes opções de distribuição (a partir da versão da API 2017-12-01):
Propagação máxima (platformFaultDomainCount = 1). A dispersão máxima é a opção de implantação recomendada, pois fornece a melhor distribuição na maioria dos casos. Se você espalhar réplicas entre unidades de isolamento de hardware distintas, é recomendável distribuir entre zonas de disponibilidade e utilizar a dispersão máxima dentro de cada zona.
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.
Nota
Com a propagação máxima, independentemente de quantos domínios de falha as VMs estão espalhadas, você só pode ver um domínio de falha na exibição da instância da VM do conjunto de escala e nos metadados da instância. A propagação dentro de cada zona está implícita.
Dispersão estática fixa (platformFaultDomainCount = 5). Com a dispersão fixa estática, o conjunto de escala distribui suas VMs exatamente em cinco domínios de falha por zona. Se o conjunto de escalas não conseguir encontrar cinco domínios de falha distintos por zona para satisfazer a solicitação de alocação, a solicitação falhará.
Distribuição alinhada com domínios de falha de discos gerenciados (platformFaultDomainCount = 2 ou 3) Você pode considerar alinhar o número de domínios de falha do conjunto de escala com o número de domínios de falha de discos gerenciados. Esse alinhamento pode ajudar a evitar a perda de quórum se um domínio inteiro de falha de discos gerenciados ficar inativo. A contagem de domínio de falha pode ser definida como menor ou igual ao número de domínios de falha de discos gerenciados disponíveis em cada uma das regiões. Para saber mais sobre o número de domínios de falha do Managed Disks por região, consulte [inserir documento aqui](link aqui).
Balanceamento de zona
Para conjuntos de escala implantados em várias zonas (com redundância de zona), você pode escolher entre o melhor equilíbrio de zona de esforço ou o equilíbrio estrito de zona. Um conjunto de escala é considerado "equilibrado" se cada zona tiver o mesmo número de VMs (mais ou menos uma VM) que todas as outras zonas no conjunto de escalas. Por exemplo:
Conjunto de Dimensionamento | VMs na Zona 1 | VMs na Zona 2 | VMs na Zona 3 | Balanceamento de zonas |
---|---|---|---|---|
Conjunto de balanças equilibradas | 2 | 3 | 3 | Este conjunto de escalas é considerado equilibrado. Há apenas uma zona com uma contagem de VM diferente e é apenas 1 a menos do que as outras zonas. |
Conjunto de escalas desequilibradas | 1 | 3 | 3 | Este conjunto de escalas é considerado desequilibrado. A zona 1 tem menos 2 VMs do que as zonas 2 e 3. |
É possível que as VMs no conjunto de escala sejam criadas com êxito, mas as extensões nessas VMs não são implantadas. As VMs com falhas de extensão ainda são contadas ao determinar se um conjunto de escala está equilibrado. Por exemplo, um conjunto de escala com 3 VMs na zona 1, 3 VMs na zona 2 e 3 VMs na zona 3 é considerado equilibrado mesmo se todas as extensões falharem na zona 1 e todas as extensões forem bem-sucedidas nas zonas 2 e 3.
Com o equilíbrio da zona de melhor esforço, o conjunto de escalas tenta escalar para dentro e para fora, mantendo o equilíbrio. No entanto, se, por algum motivo, o balanceamento não for possível (por exemplo, se uma zona cair, o conjunto de escala não poderá criar uma nova VM nessa zona), o conjunto de escala permitirá que o desequilíbrio temporário seja dimensionado com êxito para dentro ou para fora. Em tentativas de expansão subsequentes, o conjunto de escala adiciona VMs a zonas que precisam de mais VMs para que o conjunto de escala seja balanceado. Da mesma forma, na escala subsequente nas tentativas, o conjunto de escala remove VMs de zonas que precisam de menos VMs para que o conjunto de escala seja balanceado. Com o "equilíbrio estrito de zonas", o conjunto de escalas falha em qualquer tentativa de escalar para dentro ou para fora se isso causar desequilíbrio.
Para usar o equilíbrio de zona de melhor esforço, defina zoneBalance
como false. A zoneBalance
configuração é o padrão na versão da API 2017-12-01. Para usar o equilíbrio de zona estrito, defina zoneBalance
como true.
Migrar para o suporte à zona de disponibilidade
Para saber como reimplantar um conjunto de escala regional para suporte à zona de disponibilidade, consulte Migrar máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais para suporte à zona de disponibilidade.
Orientações adicionais
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.
Ao implantar um Conjunto de Dimensionamento de Máquina Virtual, você tem a opção de implantar com um ou vários grupos de posicionamento por zona de disponibilidade. Para conjuntos de escalas regionais, a opção é ter um único grupo de colocação na região ou ter vários grupos de colocação na região. Se a propriedade singlePlacementGroup
do conjunto de escala for definida como false, o conjunto de escala poderá ser composto por vários grupos de posicionamento e terá um intervalo de 0 a 1000 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 API versão 2017-12-01, a escala define como padrão vários grupos de posicionamento para conjuntos de escala de zona única e entre zonas, mas o padrão é um grupo de posicionamento único para conjuntos de escala regional.
Próximos passos
Use o dimensionamento automático com Conjuntos de Dimensionamento de Máquina Virtual.