Confiabilidade nos Conjuntos de Dimensionamento de Máquinas Virtuais
Este artigo contém informações sobre o suporte a zonas de disponibilidade para os Conjuntos de Dimensionamento de Máquinas Virtuais.
Observação
Os Conjuntos de Dimensionamento de Máquinas Virtuais 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 desastre: failover entre regiões.
Suporte à zona de disponibilidade
As zonas de disponibilidade do Azure são pelo menos três grupos de datacenters separados fisicamente em cada região do Azure. Os datacenters dentro de cada zona são equipados com energia, resfriamento e infraestrutura de rede independentes. Em caso de falha de uma zona local, as zonas de disponibilidade foram projetadas de modo que, se uma zona é afetada, os serviços regionais, a capacidade e a alta disponibilidade têm suporte nas duas zonas restantes.
As falhas podem variar de falhas de software e hardware a eventos como terremotos, inundações e incêndios. A tolerância a falhas é obtida devido à redundância e ao isolamento lógico dos serviços do Azure. Para obter informações detalhadas sobre as zonas de disponibilidade no Azure, confira Regiões e zonas de disponibilidade.
Os serviços habilitados para zonas de disponibilidade do Azure foram projetados para fornecer o nível ideal de resiliência e flexibilidade. Eles podem ser configurados de duas maneiras. Eles podem ter redundância de zona, com replicação automática entre zonas, ou podem ser zonais, com instâncias fixadas em uma zona específica. Você também pode combinar essas abordagens. Para obter mais informações sobre a arquitetura zonal versus com redundância de zona, confira Recomendações para usar zonas e regiões de disponibilidade.
Os Conjuntos de Dimensionamento de Máquinas Virtuais do Azure permitem criar e gerenciar um grupo de VMs com balanceamento de carga. O número de instâncias de VM pode aumentar ou diminuir automaticamente em resposta à demanda ou a um agendamento definido. Os conjuntos de dimensionamento fornecem alta disponibilidade para seus aplicativos e permitem que você gerencie, configure e atualize muitas máquinas virtuais de forma centralizada. Não há nenhum custo em relação ao conjunto de dimensionamento em si. Você paga apenas por cada instância de VM criada.
Os Conjuntos de Dimensionamento de Máquinas Virtuais dão suporte a ambas as implantações, zonais e com redundância de zona, em uma região:
Implantação zonal. Quando você cria um conjunto de dimensionamento em uma única zona, controla em qual zona todas as VMs desse conjunto são executadas. O conjunto de dimensionamento é gerenciado e dimensionado automaticamente apenas dentro dessa zona.
Implantação com redundância de zona. Um conjunto de dimensionamento com redundância de zona permite criar um conjunto de dimensionamento único que abrange várias zonas. Por padrão, à medida que as VMs são criadas, elas são balanceadas uniformemente entre as zonas.
Pré-requisitos
Seu conjunto de dimensionamento precisa ser criado em uma região do Azure com suporte para poder usar zonas de disponibilidade.
Todas as VMs, até mesmo VMs de instância única, devem ser implantadas em um conjunto de dimensionamento pelo modo de orquestração flexível para permitir que o aplicativo tenha dimensionamento e disponibilidade duradouros.
SLA
Como as zonas de disponibilidade são fisicamente separadas e oferecem fontes de energia, rede e refrigeração distintas, os SLAs (Contratos de Nível de Serviço) aumentam. Para obter mais informações, consulte o SLA do Microsoft Online Services.
Criar um Conjunto de Dimensionamento de Máquinas Virtuais com zonas de disponibilidade habilitadas
Você pode criar um conjunto de dimensionamento que usa zonas de disponibilidade por um destes métodos:
O processo para criar um conjunto de dimensionamento que usa implantação zonal é o mesmo detalhado no artigo de introdução. Quando você seleciona uma região do Azure com suporte, pode criar um conjunto de dimensionamento 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 especificada por você.
Suporte a failover zonal
Por padrão, os conjuntos de dimensionamento de máquinas virtuais são criados com cinco domínios de falha nas regiões do Azure sem zonas. Em regiões com suporte à implantação de zona de disponibilidade de Conjuntos de Dimensionamento de Máquinas Virtuais, quando essa opção é selecionada, o valor padrão da contagem de domínio de falha é 1 para cada zona. Nesse caso, FD=1 implica que as instâncias de VM pertencentes ao conjunto de dimensionamento são distribuídas em vários racks com base no melhor esforço. Para obter mais informações, consulte Escolher a quantidade correta de domínios de falha para o Conjunto de Dimensionamento de Máquinas Virtuais.
Design de baixa latência
É recomendável configurar Conjuntos de Dimensionamento de Máquinas Virtuais com redundância de zona. No entanto, se o aplicativo tiver requisitos de baixa latência estritos, talvez seja necessário fazer uma implementação zonal para as VMs dos conjuntos de dimensionamento. No caso de uma implantação zonal dos conjuntos de dimensionamento, é recomendável criar várias VMs do conjunto de dimensionamento em mais de uma zona. Por exemplo, você pode criar uma instância de conjuntos de dimensionamento 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 a fim de direcionar o tráfego para os conjuntos de dimensionamento apropriados quando uma zona é interrompida.
Importante
Ao recusar a implantação com reconhecimento de zona, você abrirá mão da proteção contra o isolamento de falhas subjacentes. A recusa em configurar a zona de disponibilidade causa 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 zona inativa. As soluções que alavancam tais recursos devem definir uma estratégia de recuperação de desastre e configurar uma recuperação da solução em outra região.
Técnicas de implantação segura
Para ter mais controle sobre onde você implanta suas VMs, implemente VMs de conjunto de dimensionamento zonais em vez de regionais. No entanto, as VMs zonais fornecem apenas isolamento, não redundância, de zona. Para obter redundância de zona completa 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 distribuição máxima nas VMs com redundância de zona. Para obter mais informações, consulte as opções de distribuição.
Opções de distribuição
Na implantação de 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):
Distribuição máxima (platformFaultDomainCount = 1). A distribuição máxima é a opção de implantação recomendada, pois fornece a melhor distribuição na maioria dos casos. Se você precisar distribuir réplicas em unidades de isolamento de hardware diferentes, é recomendável distribuir pelas zonas de disponibilidade e utilizar a distribuição máxima dentro de cada região.
Com a distribuição máxima, o conjunto de dimensionamento distribui suas VMs em no máximo de domínios de falha possíveis dentro de cada zona. Essa distribuição pode ser entre mais ou menos de cinco domínios de falha por zona.
Observação
Com a distribuição máxima, independentemente da quantidade de domínios de falha pela qual as VMs estão espalhadas, você verá apenas um domínio de falha na exibição da VM do conjunto de dimensionamento e nos metadados da instância. A distribuição dentro de cada região é implícita.
Distribuição estática corrigida (platformFaultDomainCount = 5). Com a distribuição estática corrigida, o conjunto de dimensionamento distribui suas VMs exatamente entre cinco domínios de falha por zona. Se o conjunto de dimensionamento não conseguir localizar cinco domínios de falha distintos por zona para atender à 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 dimensionamento com o número de domínios de falha de discos gerenciados. Esse alinhamento poderá ajudar a evitar perda de quorum se um domínio de falha de discos gerenciados inteiro for desativado. A contagem de domínios de falha pode ser definida como menor ou igual ao número de domínios de falha de discos gerenciados disponível em cada uma das regiões. Para saber mais sobre o número de domínios de falha de Discos Gerenciados por região, consulte [inserir documento aqui](link aqui).
Balanceamento de zona
No caso de conjuntos de dimensionamento implantados em várias zonas (com redundância de zona), você pode escolher o balanceamento de zona de melhor esforço ou balanceamento de zona estrito. Um conjunto de dimensionamento é considerado "balanceado" quando há em cada zona o mesmo número de VMs (+\- 1 VM) de todas as outras zonas no conjunto de dimensionamento. Por exemplo:
Conjunto de dimensionamento | VMs na Zona 1 | VMs na Zona 2 | VMs na Zona 3 | Balanceamento de Zona |
---|---|---|---|---|
Conjunto de dimensionamento balanceado | 2 | 3 | 3 | Esse conjunto de dimensionamento é considerado balanceado. Há apenas uma zona com uma contagem de VM diferente e ela tem apenas uma a menos do que outras zonas. |
Conjunto de dimensionamento não balanceado | 1 | 3 | 3 | Esse conjunto de dimensionamento é considerado não balanceado. Zona 1 tem 2 VMs a menos do que as zonas 2 e 3. |
É possível que as VMs no conjunto de dimensionamento sejam criadas com êxito, mas extensões nessas VMs falham na implantação. Essas VMs com falhas de extensão ainda são contabilizadas na determinação do balanceamento de um conjunto de dimensionamento. Por exemplo, um conjunto de dimensionamento com 3 VMs na zona 1, 3 VMs na zona 2 e 3 VMs na zona 3 é considerado balanceado mesmo quando todas as extensões falham na zona 1 e todas as extensões têm êxito nas zonas 2 e 3.
Com melhor balanceamento de zona possível, o conjunto de dimensionamento tenta reduzir e expandir mantendo o balanceamento. No entanto, se por algum motivo o balanceamento de zona não for possível (por exemplo, se uma zona ficar inativa, o conjunto de dimensionamento não poderá criar uma VM nessa zona), o conjunto de dimensionamento permitirá o desequilíbrio temporário para reduzir horizontalmente ou verticalmente com êxito. Nas tentativas de expansão subsequentes, o conjunto de dimensionamento adicionará VMs a zonas que precisam de mais VMs para que o conjunto de dimensionamento seja balanceado. De forma semelhante, em tentativas de redução subsequentes, o conjunto de dimensionamento remove VMs de zonas que precisam de menos VMs para que o conjunto de dimensionamento seja balanceado. Com "balanceamento de zona estrito", o conjunto de dimensionamento falhará em qualquer tentativa de expandir ou reduzir que cause desbalanceamento.
Para usar o balanceamento de zona de melhor esforço, defina zoneBalance
como false. A configuração zoneBalance
é o padrão na versão de API 2017-12-01. Para usar o equilíbrio de zona estrito, defina zoneBalance
como true.
Migrar para o suporte às zonas de disponibilidade
Para saber como reimplantar um conjunto de dimensionamento e ter suporte à zona de disponibilidade, consulte Migrar Máquinas Virtuais e Conjuntos de Dimensionamento de Máquinas Virtuais para ter suporte à zona de disponibilidade.
Diretriz adicional
Grupos de posicionamento
Importante
Os grupos de posicionamento se aplicam somente a Conjuntos de Dimensionamento de Máquinas Virtuais em execução no modo de orquestração Uniforme.
Quando você implanta um Conjunto de Dimensionamento de Máquinas Virtuais, também tem a opção de implantar um único grupo de posicionamento, ou vários, em cada zona de disponibilidade. No caso de conjuntos de dimensionamento regionais, a opção é ter um único grupo de posicionamento, ou vários, na região. Se a propriedade de conjunto de dimensionamento singlePlacementGroup
for definida como falso, o conjunto de dimensionamento poderá ser composto de vários grupos de posicionamento e ter um intervalo de 0 a 1000 VMs. Quando definido com o valor padrão verdadeiro, o conjunto de dimensionamento é composto de um grupo de posicionamento único com intervalo de 0 a 100 VMs. Para a maioria das cargas de trabalho, é recomendável vários grupos de posicionamento, o que permite maior dimensionamento. Na API versão 2017-12-01, os conjuntos de dimensionamento têm como padrão múltiplos grupos de posicionamento para conjuntos de dimensionamento de zona única e entre zonas, mas eles têm como padrão um grupo de posicionamento único para conjuntos de dimensionamento regionais.