Migrar implementações e recursos para Conjuntos de Dimensionamento de Máquinas Virtuais na Orquestração flexível

Tal como os conjuntos de disponibilidade, Conjuntos de Dimensionamento de Máquinas Virtuais permite-lhe distribuir máquinas virtuais por vários domínios de falha. Conjuntos de Dimensionamento de Máquinas Virtuais com Orquestração flexível permite-lhe combinar a escalabilidade de Conjuntos de Dimensionamento de Máquinas Virtuais no modo de orquestração Uniforme com as garantias de disponibilidade regionais dos conjuntos de disponibilidade. Este artigo aborda as considerações de migração ao mudar para o Modo de orquestração flexível para Conjuntos de Dimensionamento de Máquinas Virtuais.

Atualizar modelos e scripts de implementações de conjuntos de disponibilidade

Primeiro, tem de criar um Conjunto de Dimensionamento de Máquinas Virtuais sem perfil de dimensionamento automático através da CLI do Azure, do Azure PowerShell ou do Modelo do ARM. portal do Azure permite apenas criar um Conjunto de Dimensionamento de Máquinas Virtuais com um perfil de dimensionamento automático. Se não quiser ou precisar de um perfil de dimensionamento automático e quiser criar um conjunto de dimensionamento com portal do Azure, pode definir a capacidade inicial como 0.

Tem de especificar a contagem de domínios de falhas para o Conjunto de Dimensionamento de Máquinas Virtuais. Para implementações regionais (não zonais), Conjuntos de Dimensionamento de Máquinas Virtuais oferece as mesmas garantias de domínio de falha que os conjuntos de disponibilidade. No entanto, pode aumentar verticalmente até 1000 instâncias. Para implementações zonais em que está a distribuir instâncias por várias zonas de disponibilidade, a contagem de domínios de falha tem de ser definida como 1.

Os domínios de atualização foram preteridos no modo Orquestração Flexível. A maioria das atualizações da plataforma com SKUs para fins gerais são realizadas com a Migração em Direto e não requerem o reinício da instância. Na ocasião em que uma manutenção da plataforma requer que as instâncias sejam reiniciadas, as atualizações são aplicadas ao domínio de falha por domínio de falha.

A orquestração flexível para Conjuntos de Dimensionamento de Máquinas Virtuais também suporta a implementação de instâncias em várias zonas de disponibilidade. Poderá considerar atualizar as implementações da VM para se espalhar por várias zonas de disponibilidade.

O último passo neste processo é criar uma máquina virtual. Em vez de especificar um conjunto de disponibilidade, especifique o Conjunto de Dimensionamento de Máquinas Virtuais. Opcionalmente, pode especificar a zona de disponibilidade ou o domínio de falha no qual pretende colocar a VM.

Migrar VMs do conjunto de disponibilidade existentes

Atualmente, não existem ferramentas automatizadas para mover diretamente instâncias existentes num Conjunto de Disponibilidade para um Conjunto de Dimensionamento de Máquinas Virtuais. No entanto, existem várias estratégias que pode utilizar para migrar instâncias existentes para um conjunto de dimensionamento flexível:

Migração azul/verde ou lado a lado

  1. Crie novas instâncias de máquinas virtuais de conjuntos de dimensionamento com configuração semelhante no mesmo grupo de recursos, rede virtual, balanceador de carga, etc. como as VMs na disponibilidade
  2. Migrar dados, tráfego de rede, etc. para utilizar as novas instâncias do conjunto de dimensionamento
  3. Desaloque ou remova as máquinas virtuais originais do Conjunto de Disponibilidade, deixando as VMs do conjunto de dimensionamento em execução para a sua aplicação

Substituir instâncias de VM

  1. Tenha em atenção os parâmetros que pretende manter da máquina virtual (nome, ID NIC, SO e IDs do disco de dados, definições de configuração da VM, colocação do domínio de falha, etc.)
  2. Elimine a máquina virtual do conjunto de disponibilidade. Os NICs e discos da VM não serão eliminados
  3. Criar um novo objeto de máquina virtual com os parâmetros da VM original
    • NIC ID
    • Discos de SO e Dados
    • Colocação do domínio de falha
    • Outras definições de VM

Atualizar modelos e scripts de implementação de conjuntos de dimensionamento uniformes

Atualize os scripts e modelos de implementação uniform Conjuntos de Dimensionamento de Máquinas Virtuais para utilizar a Orquestração flexível. Altere os seguintes elementos nos seus modelos para concluir o processo com êxito.

  • Remover LoadBalancerNATPool (não é válido para flex)
  • Remover o parâmetro de sobreaprovisionamento (não válido para flex)
  • Remover upgradePolicy (ainda não é válido para flexão)
  • 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 a versão da API de rede a 2021-11-01 ou superior
  • Definir o IP configuration.properties.primary como verdadeiro (necessário para regras de saída)

Migrar conjuntos de dimensionamento uniformes existentes

Atualmente, não existem ferramentas automatizadas para mover diretamente instâncias existentes ou atualizar um conjunto de dimensionamento Uniforme para um Conjunto de Dimensionamento de Máquinas Virtuais Flexíveis. No entanto, eis uma estratégia que pode utilizar para migrar instâncias existentes para um conjunto de dimensionamento flexível:

Migração azul/verde ou lado a lado

  1. Crie um novo conjunto de dimensionamento do modo de orquestração flexível com configuração semelhante no mesmo grupo de recursos, rede virtual, balanceador de carga, etc. como o conjunto de dimensionamento original no modo de orquestração uniforme
  2. Migrar dados, tráfego de rede, etc. para utilizar as novas instâncias do conjunto de dimensionamento
  3. Reduzir verticalmente ou remover as máquinas virtuais do conjunto de dimensionamento uniforme original, deixando as máquinas virtuais do conjunto de dimensionamento em execução para a sua aplicação

Considerações sobre conjuntos de dimensionamento flexíveis

Conjuntos de Dimensionamento de Máquinas Virtuais com Orquestração flexível permite-lhe combinar a escalabilidade de Conjuntos de Dimensionamento de Máquinas Virtuais em Orquestração uniforme com as garantias de disponibilidade regionais dos conjuntos de disponibilidade. Seguem-se as principais considerações ao decidir trabalhar com o modo orquestração flexível.

Criar conectividade de rede dimensionável

O comportamento de acesso de saída da rede irá variar consoante a forma como opta por criar máquinas virtuais no seu conjunto de dimensionamento. As instâncias de VM adicionadas manualmente têm acesso de conectividade de saída predefinido. As instâncias de VM criadas implicitamente não têm acesso predefinido.

Para melhorar a segurança de rede predefinida, as instâncias de máquina virtual criadas implicitamente através do perfil de dimensionamento automático não têm acesso de saída predefinido. Para utilizar Conjuntos de Dimensionamento de Máquinas Virtuais com instâncias de VM criadas implicitamente, o acesso de saída tem de ser explicitamente definido através de um dos seguintes métodos:

  • Para a maioria dos cenários, recomendamos o NAT Gateway anexado à sub-rede.
  • Para cenários com requisitos de segurança elevados ou ao utilizar Azure Firewall ou Aplicação Virtual de Rede (NVA), pode especificar uma Rota Definida pelo Utilizador personalizada como próximo salto através da firewall.
  • As instâncias estão no conjunto de back-end de um SKU Standard Balanceador de Carga do Azure.
  • 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 requer que tenha definido a conectividade de saída da instância da VM para o Serviço de Gestão de Chaves de Ativação do Windows (KMS). Para obter mais informações, veja Resolver problemas de ativação da VM do Windows.
  • Acesso a contas de armazenamento ou Key Vault. A conectividade aos serviços do Azure também pode ser estabelecida através de Private Link.
  • Atualizações do Windows.
  • Acesso aos gestores de pacotes do Linux.

Para obter mais informações, veja Acesso de saída predefinido no Azure.

Com VMs de instância única em que cria explicitamente o NIC, é fornecido o acesso de saída predefinido. Conjuntos de Dimensionamento de Máquinas Virtuais no modo De Orquestração Uniforme também tem conectividade de saída predefinida.

Importante

Confirme que tem conectividade de rede de saída explícita. Saiba mais sobre isto em redes virtuais e máquinas virtuais no Azure e certifique-se de que está a seguir as melhores práticas de rede do Azure.

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

Pode escolher o número de domínios de falha para o conjunto de dimensionamento de orquestração flexível. Por predefinição, quando adiciona uma VM a um conjunto de dimensionamento flexível, o Azure distribui uniformemente instâncias por domínios de falha. Embora seja recomendado permitir que o Azure atribua o domínio de falha, para cenários avançados ou de resolução de problemas, pode substituir este comportamento predefinido e especificar o domínio de falha em que a instância irá aterrar.

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

Nomenclatura de instância

Quando cria uma VM e a adiciona a um conjunto de dimensionamento flexível, tem controlo total sobre os nomes das instâncias nas regras da convenção de Nomenclatura do Azure. Quando as VMs são adicionadas automaticamente ao conjunto de dimensionamento através do dimensionamento automático, fornece um prefixo e o Azure acrescenta um número exclusivo ao final do nome.

Listar alterações à API da VM dos conjuntos de dimensionamento

Conjuntos de Dimensionamento de Máquinas Virtuais permite-lhe listar as instâncias que pertencem ao conjunto de dimensionamento. Com a Orquestração flexível, a lista Conjuntos de Dimensionamento de Máquinas Virtuais comando da VM fornece uma lista de IDs de VM de conjuntos de dimensionamento. Em seguida, pode chamar os comandos da VM get Conjuntos de Dimensionamento de Máquinas Virtuais para obter mais detalhes sobre como o conjunto de dimensionamento está a funcionar com a instância da VM. Para obter os detalhes completos da VM, utilize os comandos padrão da VM GET ou o Azure Resource Graph.

Consultar instâncias para o estado de energia

O método preferencial é utilizar o Azure Resource Graph para consultar todas as VMs num Conjunto de Dimensionamento de Máquinas Virtuais. O Azure Resource Graph fornece capacidades de consulta eficientes para recursos do Azure em escala entre subscrições.

| 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 forma conveniente e eficiente de consultar recursos do Azure e minimizar as chamadas à API ao fornecedor de recursos. O Azure Resource Graph é uma cache eventualmente consistente em que os recursos novos ou atualizados podem não ser refletidos até 60 segundos. Pode:

  • Listar VMs num grupo de recursos ou subscrição.
  • Utilize a opção expandir para obter a vista de instância (atribuição de domínio de falha, estados de energia e aprovisionamento) para todas as VMs na sua subscrição.
  • Utilize a API Obter VM e comandos para obter a vista de modelo e instância de uma única instância.

Operações de lote de VMs de conjuntos de dimensionamento

Utilize os comandos de VM padrão para iniciar, parar, reiniciar, eliminar instâncias, em vez das APIs de VM do Conjunto de Dimensionamento de Máquinas Virtuais. As operações do Batch de VM do Conjunto de Dimensionamento de Máquinas Virtuais (iniciar tudo, parar tudo, recriar imagem, etc.) não são utilizadas com o Modo de orquestração flexível.

Monitorizar o estado de funcionamento de aplicações

A monitorização do estado de funcionamento da aplicação permite que a aplicação forneça um heartbeat ao Azure para determinar se a aplicação está em bom estado de funcionamento ou em mau estado de funcionamento. O Azure pode substituir automaticamente instâncias de VM em mau estado de funcionamento. Para instâncias de conjuntos de dimensionamento flexíveis, tem de instalar e configurar a Extensão do Estado de Funcionamento da Aplicação na máquina virtual. Para instâncias de conjuntos de dimensionamento uniformes, pode utilizar a Extensão do Estado de Funcionamento da Aplicação ou medir o estado de funcionamento com um Balanceador de Carga do Azure Pesquisa de Estado de Funcionamento Personalizado.

Obter dados de diagnóstico de arranque

Utilize as APIs e comandos de VM padrão para obter dados e capturas de ecrã do Diagnóstico de Arranque da instância. Os comandos e as APIs de diagnóstico de arranque da VM Conjuntos de Dimensionamento de Máquinas Virtuais não são utilizados com instâncias do modo de orquestração flexível.

Extensões de VM

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

Proteger instâncias contra eliminação

Conjuntos de Dimensionamento de Máquinas Virtuais no Modo de orquestração flexível não têm atualmente opções de proteção de instâncias. Se tiver o dimensionamento automático ativado num Conjunto de Dimensionamento de Máquinas Virtuais, algumas VMs poderão estar em risco de eliminação durante o dimensionamento em processo. Se quiser proteger determinadas instâncias de VM contra a eliminação, utilize o bloqueio de Resource Manager do Azure.

Passos seguintes