Partilhar via


Migre implantações e recursos para conjuntos de dimensionamento de máquina virtual em orquestração flexível

Assim como os conjuntos de disponibilidade, os Conjuntos de Dimensionamento de Máquina Virtual permitem espalhar máquinas virtuais por vários domínios de falha. Os Conjuntos de Dimensionamento de Máquina Virtual com orquestração flexível permitem combinar a escalabilidade dos Conjuntos de Dimensionamento de Máquina Virtual no modo de orquestração Uniforme com as garantias de disponibilidade regional dos conjuntos de disponibilidade. Este artigo aborda as considerações de migração ao alternar para o modo de orquestração flexível para conjuntos de escala de máquina virtual.

Atualizar modelos e scripts de implantação do conjunto de disponibilidade

Primeiro, você precisa criar um Conjunto de Dimensionamento de Máquina Virtual sem perfil de dimensionamento automático por meio da CLI do Azure, Azure PowerShell ou Modelo ARM. O portal do Azure só permite a criação de um Conjunto de Dimensionamento de Máquina Virtual com um perfil de dimensionamento automático. Se você não quiser ou precisar de um perfil de dimensionamento automático e quiser criar um conjunto de dimensionamento usando o portal do Azure, poderá definir a capacidade inicial como 0.

Você deve especificar a contagem de domínio de falha para o Conjunto de Escala de Máquina Virtual. Para implantações regionais (não zonais), os Conjuntos de Dimensionamento de Máquina Virtual oferecem as mesmas garantias de domínio de falha que os conjuntos de disponibilidade. No entanto, você pode dimensionar até 1000 instâncias. Para implantações zonais em que você está espalhando instâncias por várias zonas de disponibilidade, a contagem de domínio de falha deve ser definida como 1.

Os domínios de atualização foram preteridos no modo de orquestração flexível. A maioria das atualizações de plataforma com SKUs de uso geral são realizadas com a Migração ao Vivo e não exigem a reinicialização da instância. Na ocasião em que uma manutenção de plataforma requer que as instâncias sejam reinicializadas, as atualizações são aplicadas domínio de falha por domínio de falha.

A orquestração flexível para Conjuntos de Dimensionamento de Máquinas Virtuais também oferece suporte à implantação de instâncias em várias zonas de disponibilidade. Você pode considerar atualizar suas implantações de VM para se espalhar por várias zonas de disponibilidade.

A última etapa desse processo é criar uma máquina virtual. Em vez de especificar um conjunto de disponibilidade, especifique o Conjunto de Escala de Máquina Virtual. Opcionalmente, você pode especificar a zona de disponibilidade ou o domínio de falha no qual deseja colocar a VM.

Migrar VMs de conjuntos de disponibilidade existentes

Atualmente, não há ferramentas automatizadas para mover diretamente instâncias existentes em um Conjunto de Disponibilidade para um Conjunto de Dimensionamento de Máquina Virtual. No entanto, há várias estratégias que você pode utilizar para migrar instâncias existentes para um conjunto de escala flexível:

Migração azul/verde ou lado a lado

  1. Abrir novas instâncias de máquina virtual de conjunto de escala com configuração semelhante no mesmo grupo de recursos, rede virtual, balanceador de carga, etc. que as VMs na disponibilidade
  2. Migre dados, tráfego de rede, etc. para usar as novas instâncias do conjunto de escala
  3. Desalocar ou remover as máquinas virtuais originais do Conjunto de Disponibilidade, deixando as VMs do conjunto de escala em execução para seu aplicativo

Substituir instâncias de VM

  1. Observe os parâmetros que você deseja manter da máquina virtual (nome, ID da NIC, IDs do SO e do disco de dados, definições de configuração da VM, posicionamento do domínio com falha, etc.)
  2. Exclua a máquina virtual do conjunto de disponibilidade. As NICs e os discos da VM não serão excluídos
  3. Criar um novo objeto de máquina virtual, usando os parâmetros da VM original
    • NIC ID
    • SO e discos de dados
    • Posicionamento de domínio com falha
    • Outras configurações de VM

Atualizar conjuntos de escala uniforme modelos e scripts de implantação

Atualizar Escala Uniforme de Máquina Virtual Define modelos e scripts de implantação para usar orquestração flexível. Altere os seguintes elementos em seus modelos para concluir o processo com êxito.

  • Remover LoadBalancerNATPool (não válido para flex)
  • Remover parâmetro de provisionamento excessivo (não válido para flex)
  • Remover upgradePolicy (ainda não é válido para flex)
  • Atualizar a versão da API de computação para 2021-03-01
  • Adicionar modo de orquestração flexible
  • platformFaultDomainCount Necessário
  • singlePlacementGroup=falso obrigatório
  • Adicionar versão da API de rede a 2021-11-01 ou superior
  • Definir IP configuration.properties.primary como true (necessário para regras de saída)

Migrar conjuntos de escalas uniformes existentes

Atualmente, não há ferramentas automatizadas para mover diretamente instâncias existentes ou atualizar um conjunto de escala uniforme para um conjunto de escala de máquina virtual flexível. No entanto, aqui está uma estratégia que você pode utilizar para migrar instâncias existentes para um conjunto de escala flexível:

Migração azul/verde ou lado a lado

  1. Traga o novo conjunto de escala do modo de orquestração flexível com configuração semelhante no mesmo grupo de recursos, rede virtual, balanceador de carga, etc. que o conjunto de escala original no modo de orquestração uniforme
  2. Migre dados, tráfego de rede, etc. para usar as novas instâncias do conjunto de escala
  3. Reduza ou remova as máquinas virtuais originais do conjunto de escala uniforme, deixando as máquinas virtuais do conjunto de escala em execução para seu aplicativo

Considerações sobre conjuntos de escala flexível

Os Conjuntos de Dimensionamento de Máquina Virtual com orquestração flexível permitem combinar a escalabilidade dos Conjuntos de Dimensionamento de Máquina Virtual em orquestração uniforme com as garantias de disponibilidade regional dos conjuntos de disponibilidade. A seguir estão as principais considerações ao decidir trabalhar com o modo de orquestração flexível.

Crie conectividade de rede escalável

O comportamento de acesso de saída de rede variará dependendo de como você optar por criar máquinas virtuais dentro do seu conjunto de escala. As instâncias de VM adicionadas manualmente têm acesso de conectividade de saída padrão. As instâncias de VM criadas implicitamente não têm acesso padrão.

Para melhorar a segurança de rede padrão, as instâncias de máquina virtual criadas implicitamente por meio do perfil de dimensionamento automático não têm acesso de saída padrão. Para usar Conjuntos de Dimensionamento de Máquina Virtual com instâncias de VM criadas implicitamente, o acesso de saída deve ser explicitamente definido por meio de um dos seguintes métodos:

  • Para a maioria dos cenários, recomendamos o Gateway NAT anexado à sub-rede.
  • Para cenários com altos requisitos de segurança ou ao usar o Firewall do Azure ou o Network Virtual Appliance (NVA), você pode especificar uma Rota Definida pelo Usuário personalizada como próximo salto pelo firewall.
  • As instâncias estão no pool de back-end de um Balanceador de Carga do Azure SKU Padrão.
  • Anexe um endereço IP público à interface de rede da instância.

Os cenários comuns que exigirão conectividade de saída explícita incluem:

  • A ativação da VM do Windows exigirá que você tenha definido a conectividade de saída da instância da VM para o KMS (Serviço de Gerenciamento de Chave de Ativação do Windows). Para obter mais informações, consulte Solucionar problemas de ativação de VM do Windows.
  • Acesso a contas de armazenamento ou Cofre de Chaves. A conectividade com os serviços do Azure também pode ser estabelecida por meio do Private Link.
  • Atualizações do Windows.
  • Acesso a gerenciadores de pacotes Linux.

Para obter mais informações, consulte Acesso de saída padrão no Azure.

Com VMs de instância única onde você cria explicitamente a NIC, o acesso de saída padrão é fornecido. Os Conjuntos de Dimensionamento de Máquina Virtual no modo de Orquestração Uniforme também têm conectividade de saída padrão.

Importante

Confirme se você tem conectividade de rede de saída explícita. Saiba mais sobre isso em redes virtuais e máquinas virtuais no Azure e verifique se você está seguindo as práticas recomendadas de rede do Azure.

Atribuir domínio de falha durante a criação da VM

Você pode escolher o número de domínios de falha para o conjunto de escala de orquestração flexível. Por padrão, quando você adiciona uma VM a um conjunto de escala flexível, o Azure distribui instâncias uniformemente entre domínios de falha. Embora seja recomendável permitir que o Azure atribua o domínio de falha, para cenários avançados ou de solução de problemas, você pode substituir esse comportamento padrão e especificar o domínio de falha onde a instância irá parar.

az vm create –vmss "myVMSS"  –-platform_fault_domain 1

Nomenclatura de instâncias

Ao criar uma VM e adicioná-la a um conjunto de escala flexível, você tem controle total sobre os nomes de instância dentro das regras da convenção de nomenclatura do Azure. Quando as VMs são adicionadas automaticamente ao conjunto de escala por meio do dimensionamento automático, você fornece um prefixo e o Azure acrescenta um número exclusivo ao final do nome.

A escala de lista define as alterações da API da VM

Os Conjuntos de Dimensionamento de Máquina Virtual permitem listar as instâncias que pertencem ao conjunto de escala. Com orquestração flexível, o comando list Virtual Machine Scale Sets VM fornece uma lista de IDs de VM de conjuntos de escala. Em seguida, você pode chamar os comandos GET Virtual Machine Scale Sets VM para obter mais detalhes sobre como o conjunto de escala está funcionando com a instância da VM. Para obter os detalhes completos da VM, use os comandos padrão da VM GET ou o Azure Resource Graph.

Instâncias de consulta para o estado de energia

O método preferencial é usar o Gráfico de Recursos do Azure para consultar todas as VMs em um Conjunto de Dimensionamento de Máquina Virtual. O Azure Resource Graph fornece recursos de consulta eficientes para recursos do Azure em escala entre assinaturas.

| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc

Consultar recursos com o Azure Resource Graph é uma maneira conveniente e eficiente de consultar recursos do Azure e minimiza as chamadas de API para o provedor de recursos. O Azure Resource Graph é um cache eventualmente consistente onde recursos novos ou atualizados podem não ser refletidos por até 60 segundos. Pode:

  • Listar VMs em um grupo de recursos ou assinatura.
  • Use a opção expandir para recuperar a exibição da instância (atribuição de domínio de falha, energia e estados de provisionamento) para todas as VMs em sua assinatura.
  • Use a API e os comandos Get VM para obter a visualização do modelo e da instância para uma única instância.

Dimensionar define operações em lote de VM

Use os comandos padrão da VM para iniciar, parar, reiniciar, excluir instâncias, em vez das APIs de VM do Conjunto de Escala de Máquina Virtual. As operações de Lote de VM do Conjunto de Escala de Máquina Virtual (iniciar tudo, parar tudo, recriar a imagem de tudo, etc.) não são usadas com o modo de orquestração flexível.

Monitorizar o estado de funcionamento de aplicações

O monitoramento da integridade do aplicativo permite que seu aplicativo forneça ao Azure uma pulsação para determinar se seu aplicativo está íntegro ou não íntegro. O Azure pode substituir automaticamente as instâncias de VM que não estão íntegras. Para instâncias de conjunto de escala flexível, você deve instalar e configurar a extensão de integridade do aplicativo na máquina virtual. Para instâncias de conjunto de escala uniforme, você pode usar a Extensão de Integridade do Aplicativo ou medir a integridade com uma Sonda de Integridade Personalizada do Balanceador de Carga do Azure.

Recuperar dados de diagnóstico de inicialização

Use as APIs e os comandos padrão da VM para recuperar dados e capturas de tela do Diagnóstico de Inicialização da instância. As APIs e comandos de diagnóstico de inicialização de VM do Virtual Machine Scale Sets não são usados com instâncias do modo de orquestração flexível.

Extensões de VMs

Use extensões direcionadas para máquinas virtuais padrão, em vez de extensões direcionadas para instâncias do modo de orquestração uniforme.

Proteja as instâncias contra exclusão

Atualmente, os conjuntos de dimensionamento de máquinas virtuais no modo de orquestração flexível não têm opções de proteção de instância. Se você tiver o dimensionamento automático habilitado em um Conjunto de Dimensionamento de Máquina Virtual, algumas VMs podem estar em risco de exclusão durante o processo de dimensionamento. Se você quiser proteger determinadas instâncias de VM contra exclusão, use o bloqueio do Azure Resource Manager.

Próximos passos