Gerenciar a disponibilidade de máquinas virtuais Windows no Azure

Aprenda como configurar e gerenciar várias máquinas virtuais para garantir a alta disponibilidade do aplicativo do Windows no Azure. Você também pode gerenciar a disponibilidade das máquinas virtuais do Linux.

Observação

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Gerenciador de Recursos e clássico. Este artigo aborda o uso de ambos os modelos, mas a Microsoft recomenda as mais novas implantações usem o modelo do Gerenciador de Recursos.

Para obter instruções sobre como criar e usar conjuntos de disponibilidade ao usar o modelo de implantação clássica, veja Como configurar um conjunto de disponibilidade.

Entender as reinicializações de VM - manutenção vs. tempo de inatividade

Há três cenários que podem afetar a máquina virtual no Azure: manutenção de hardware não planejada, tempo de inatividade inesperado e manutenção planejada.

  • O Evento de Manutenção de Hardware Não Planejado ocorre quando a plataforma do Azure prevê que o hardware ou qualquer componente de plataforma associado a um computador físico está prestes a falhar. Quando a plataforma previr uma falha, ela emitirá um evento de manutenção de hardware não planejada para reduzir o impacto em máquinas virtuais hospedadas no hardware. O Azure usa a tecnologia de Migração ao Vivo para migrar as Máquinas Virtuais do hardware com falha para um computador físico íntegro. A Migração ao Vivo é uma operação de preservação de VM que só pausa a Máquina Virtual por um curto período. A memória, os arquivos abertos e as conexões de rede são mantidos, mas o desempenho pode ser reduzido antes e/ou depois do evento. Em casos em que a Migração ao Vivo não puder ser usada, a VM terá um Tempo de Inatividade Inesperado, conforme descrito abaixo.

  • Um Tempo de Inatividade Inesperado raramente ocorre quando o hardware ou a infraestrutura física subjacente da sua máquina virtual apresenta algum tipo de falha. Isso inclui falhas na rede local, falhas no disco local ou outras falhas no nível de rack. Quando uma falha é detectada, a plataforma do Azure migra automaticamente (repara) a máquina virtual para um computador físico íntegro. Durante o procedimento de recuperação, as máquinas virtuais ficarão inativas (reinicialização) e, em alguns casos, perderão a unidade temporária. O sistema operacional e os discos de dados anexados são sempre preservados.

  • Os eventos de Manutenção Planejada são atualizações periódicas feitas pela Microsoft na plataforma subjacente do Azure para melhorara a confiabilidade, o desempenho e a segurança geral da infraestrutura da plataforma executada pela máquina virtual. A maioria dessas atualizações é realizada sem nenhum impacto nas suas Máquinas Virtuais ou nos Serviços de Nuvem (veja Manutenção de preservação da VM). Embora a plataforma do Azure tente usar a Manutenção de Preservação de VM em todas as ocasiões possíveis, há casos raros em que essas atualizações exigem uma reinicialização da máquina virtual para aplicar as atualizações necessárias para a infraestrutura subjacente. Neste caso, você pode executar a Manutenção Planejada do Azure com a operação Manutenção-Reimplantação ao iniciar a manutenção para as VMs na janela de tempo adequada. Para saber mais, veja Manutenção planejada para máquinas virtuais.

Para reduzir o impacto do tempo de inatividade devido a um ou mais desses eventos, sugerimos que siga as práticas recomendadas de alta disponibilidade para suas máquinas virtuais:

Configurar diversas máquinas virtuais em um conjunto de disponibilidade para redundância

Para oferecer redundância para o seu aplicativo, recomendamos que agrupe uma ou mais máquinas virtuais em um conjunto de disponibilidade. Essa configuração garante que durante um evento de manutenção planejada ou não planejada, pelo menos uma máquina virtual estará disponível e atenderá os 99,95% SLA do Azure. Para saber mais, confira SLA para máquinas virtuais.

Importante

Evite deixar uma única máquina virtual sozinha em um conjunto de disponibilidade. Máquinas virtuais nesta configuração não se qualificam para uma garantia de SLA e enfrentam tempo de inatividade durante eventos de manutenção planejada do Azure, exceto quando estiver usando uma única VM armazenamento Premium do Azure. Para VMs únicas usando o armazenamento premium, o SLA do Azure se aplica.

Cada máquina virtual em seu conjunto de disponibilidade receberá um domínio de atualização e um domínio de falha da plataforma subjacente do Azure. Para determinado conjunto de disponibilidade, cinco domínios de atualização não configuráveis pelo usuário são atribuídos por padrão (é possível aumentar as implantações do Resource Manager para fornecer até 20 domínios de atualização) para indicar grupos de máquinas virtuais e hardware físico subjacente que pode ser reinicializado ao mesmo tempo. Quando mais do que cinco máquinas virtuais são configuradas com um único conjunto de disponibilidade, a sexta máquina virtual será alocada com o mesmo domínio de atualização da primeira máquina virtual, a sétima com o mesmo domínio de atualização da segunda máquina virtual e assim sucessivamente. A ordem de reinicialização dos domínios de atualização pode não ser sequencial durante a manutenção planejada, mas apenas um domínio de atualização é reinicializado por vez.

Os domínios de falha definem o grupo de máquinas virtuais que compartilham uma fonte de energia e chave de rede comum. Por padrão, as máquinas virtuais configuradas em seu conjunto de disponibilidade são separadas entre até três domínios de falha para implantações do Resource Manager (dois domínios de falha para o Clássico). Embora colocar suas máquinas virtuais em um conjunto de disponibilidade não proteja seu aplicativo de falhas de sistema operacional e nem específicas de aplicativo, isso limita o impacto das potencias falhas físicas de hardware, panes de rede ou interrupções de energia.

Desenho conceitual da configuração do domínio de atualização e do domínio de falha

Usar discos gerenciados para VMs no conjunto de disponibilidade

Se você estiver usando atualmente MVs com discos não gerenciados, é altamente recomendável converter as VMs no Conjunto de Disponibilidade para usar os Managed Disks.

Os discos gerenciados fornecem melhor confiabilidade para os Conjuntos de Disponibilidade, assegurando que os discos das VMs em um Conjunto de Disponibilidade estejam suficientemente isolados entre si para evitar pontos únicos de falha. Ele faz isso colocando automaticamente os discos em unidades de clusters de armazenamentos diferentes. Se um cluster de armazenamento falhar devido a uma falha de hardware ou de software, somente as instâncias da VM com discos nesses carimbos falharão.

FDs de disco gerenciado

Importante

O número de domínios de falha para conjuntos de disponibilidade gerenciados varia por região: dois ou três por região. A tabela a seguir mostra o número por região

Número de domínios de falha por região

Região Nº máximo de domínios de falha
Leste dos EUA 3
Leste dos EUA 2 3
Oeste dos EUA 3
Oeste dos EUA 2 2
Centro dos EUA 3
Centro-Norte dos EUA 3
Centro-Sul dos Estados Unidos 3
Centro-Oeste dos EUA 2
Canadá Central 2
Leste do Canadá 2
Norte da Europa 3
Europa Ocidental 3
Sul do Reino Unido 2
Oeste do Reino Unido 2
Ásia Oriental 2
Sudeste da Ásia 2
Leste do Japão 2
Oeste do Japão 2
Sul da Índia 2
Índia Central 2
Índia Ocidental 2
Coreia Central 2
Sul da Coreia 2
Leste da Austrália 2
Sudeste da Austrália 2
Sul do Brasil 2

Se você planeja usar VMs com discos não gerenciados, siga abaixo as práticas recomendadas para as Contas de armazenamento nas quais os discos rígidos virtuais (VHDs) das VMs são armazenados como blobs de página.

  1. Manter todos os discos (sistema operacional e dados) associados a uma VM na mesma conta de armazenamento
  2. Examine os limites no número de discos não gerenciados em uma Conta de armazenamento antes de adicionar mais VHDs a uma conta de armazenamento
  3. Use uma conta de armazenamento distinta para cada VM em um conjunto de disponibilidade. Não compartilhe Contas de armazenamento com várias VMs no mesmo Conjunto de Disponibilidade. É aceitável que as VMs em diferentes Conjuntos de Disponibilidade compartilhem as contas de armazenamento, desde que as melhores práticas acima sejam seguidas

Configurar cada camada de aplicativo em conjuntos de disponibilidade separados

Se as suas máquinas virtuais forem quase idênticas e servirem para o mesmo propósito para o seu aplicativo, recomendamos que configure o seu conjunto de disponibilidade para cada camada de seu aplicativo. Se você colocar duas camadas diferentes no mesmo conjunto de disponibilidade, todas as máquinas virtuais na mesma camada de aplicativo podem ser reinicializadas ao mesmo tempo. Ao configurar ao menos duas máquinas virtuais no conjunto de disponibilidade de cada camada, você garante que ao menos uma máquina virtual de cada camada estará disponível.

Por exemplo, você pode colocar todas as máquinas virtuais no front-end de seu aplicativo com IIS, Apache, Ngnix execução em um único conjunto de disponibilidade. Certifique-se de que apenas as máquinas virtuais em front-end estão colocadas no mesmo conjunto de disponibilidade. Da mesma forma, certifique-se de que apenas as máquinas virtuais de camadas de dados sejam colocadas no seu próprio conjunto de disponibilidade, como as máquinas virtuais do SQL Server ou suas máquinas virtuais do MySQL.

Camadas de aplicativo

Combinar o balanceador de carga com os conjuntos de disponibilidade

Combine o Azure Load Balancer com o conjunto de disponibilidade para obter a melhor resiliência de aplicativo. O Balanceador de Carga do Azure distribui o tráfego entre as múltiplas máquinas virtuais. Para as nossas máquinas virtuais de camadas padrões, o Balanceador de carga do Azure está incluso. Nem todas as camadas de máquinas virtuais incluem o Azure Load Balancer. Para saber mais sobre o balanceamento de carga de suas máquinas virtuais, confira Balanceamento de Carga em máquinas virtuais.

Se o balanceador de carga não estiver configurado para balancear o tráfego entre múltiplas máquinas virtuais, então qualquer evento de manutenção planejada afetará a única máquina virtual atendendo ao tráfego causando uma pane na sua camada de aplicativo. Colocar diversas máquinas virtuais na mesma camada sob o mesmo balanceador de carga e conjunto de disponibilidade habilita o tráfego a ser atendido continuamente pelo menos por uma instância.

Próximas etapas

Para saber mais sobre o balanceamento de carga das máquinas virtuais, veja Balanceamento de carga de máquinas virtuais.