Partilhar via


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.

Observação

Os Conjuntos de Dimensionamento de Máquinas Virtuais só podem ser implantados numa só região. Se você quiser implantar VMs em várias regiões, consulte Máquinas Virtuais - Suporte a várias regiões.

Suporte à zona de disponibilidade

As zonas de disponibilidade são grupos fisicamente separados de centros de dados dentro de uma região Azure. Quando uma zona falha, os serviços podem ser transferidos para uma das zonas restantes.

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.

Conjuntos de Dimensionamento de Máquinas Virtuais suportam implantações zonais e com redundância de 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 escalabilidade é gerido e redimensionado automaticamente apenas dentro dessa zona específica.

  • Implantação com redundância de zona. Um conjunto de escalas redundante por zona permite criar um único conjunto de escalas 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

  1. Para usar zonas de disponibilidade, seu conjunto de escala deve ser criado em uma região do Azure com suporte.

  2. Todas as VMs - incluindo as VMs únicas - devem ser implementadas num conjunto de escalonamento usando o modo de orquestração flexível para preparar a sua aplicação para o dimensionamento e a disponibilidade futuros.

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:

Criar um conjunto de escalas em uma única zona de disponibilidade

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 de failover à escala 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 distribuídas por vários racks, seguindo uma abordagem de 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

Recomenda-se configurar Conjuntos de Dimensionamento de Máquinas Virtuais 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 dimensionamento zonal, é recomendável criar múltiplas VMs dos conjuntos de dimensionamento 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 aplicação para direcionar o tráfego para os conjuntos de escala apropriados durante uma falha numa zona.

Importante

Se optar por não usar a implantação com reconhecimento de zona, renuncia à proteção contra o isolamento de falhas subjacentes. Optar por não configurar a zona de disponibilidade obriga a dependência em recursos que não obedecem ao posicionamento e à separação da zona (incluindo as dependências subjacentes desses recursos). Não se deve esperar que esses recursos sobrevivam a cenários de falha de zona. 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 utilize a opção de distribuição máxima para as 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.

    Observação

    Com a propagação máxima, independentemente de quantos domínios de falha as VMs estão distribuídas, é possível ver apenas 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, consulte Práticas recomendadas para obter alta disponibilidade com máquinas virtuais e discos gerenciados do Azure.

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 Máquinas Virtuais 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 quando se determina se um conjunto de escalas 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 aumentar ou diminuir, 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, em tentativas subsequentes de escalonamento, o grupo de escalas remove VMs de zonas que precisam de menos VMs para que o grupo esteja equilibrado. 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 na zona de disponibilidade

Para saber como reimplantar um conjunto de escalas regionais para suporte a zonas de disponibilidade, consulte o guia Atualizar o conjunto de escalas para adicionar zonas 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 versão da API 2017-12-01, os conjuntos de escala por padrão utilizam vários grupos de posicionamento para conjuntos de escala de zona única e entre zonas, mas utilizam um único grupo de posicionamento para conjuntos de escala regionais.

Próximos passos