Migrate IaaS resources from classic to Azure Resource Manager by using Azure CLI (Migrar recursos IaaS de clássica para Azure Resource Manager com a CLI do Azure)

Importante

Hoje, cerca de 90% dos VMs da IaaS estão a usar o Azure Resource Manager. A partir de 28 de fevereiro de 2020, os VM clássicos foram depreciados e serão totalmente retirados a 1 de março de 2023. Saiba mais sobre esta depreciação e como isso o afeta.

Estes passos mostram-lhe como utilizar comandos de interface de linha de comandos Azure (CLI) para migrar a infraestrutura como um serviço (IaaS) recursos do modelo de implementação clássico para o modelo de implementação do Azure Resource Manager. O artigo requer o CLI clássico do Azure. Uma vez que o Azure CLI só é aplicável aos recursos do Gestor de Recursos Azure, não pode ser utilizado para esta migração.

Nota

Todas as operações descritas aqui são idempotentes. Se tiver outro problema que não seja uma funcionalidade não suportada ou um erro de configuração, recomendamos que relemisse a preparação, abortar ou cometer o funcionamento. A plataforma tentará a ação novamente.


Aqui está um fluxograma para identificar a ordem em que as etapas precisam ser executadas durante um processo de migração

Captura de ecrã que mostra os passos da migração

Passo 1: Preparar para a migração

Aqui estão algumas boas práticas que recomendamos à medida que avalia os recursos iaaS migratórios do clássico para o Gestor de Recursos:

  • Leia a lista de configurações ou funcionalidades não suportadas. Se tiver máquinas virtuais que utilizem configurações ou funcionalidades não suportadas, recomendamos que aguarde que o suporte de funcionalidade/configuração seja anunciado. Em alternativa, pode remover essa funcionalidade ou sair dessa configuração para ativar a migração se se adequar às suas necessidades.
  • Se tiver scripts automatizados que implementem a sua infraestrutura e aplicações hoje em dia, tente criar uma configuração de teste semelhante usando esses scripts para migração. Em alternativa, pode configurar ambientes de amostra utilizando o portal Azure.

Importante

Os Gateways de Aplicação não são atualmente suportados para a migração do clássico para o Gestor de Recursos. Para migrar uma rede virtual clássica com um gateway de aplicação, remova o gateway antes de executar uma operação Prepare para mover a rede. Depois de concluir a migração, reconecte a porta de entrada no Azure Resource Manager.

Os gateways ExpressRoute que se ligam aos circuitos ExpressRoute noutra subscrição não podem ser migrados automaticamente. Nesses casos, remova o gateway ExpressRoute, migrar a rede virtual e recriar o gateway. Consulte os circuitos Migrate ExpressRoute e as redes virtuais associadas do clássico ao modelo de implementação do Gestor de Recursos para obter mais informações.

Passo 2: Descreva a sua subscrição e registe o fornecedor

Para cenários de migração, você precisa configurar o seu ambiente tanto para o clássico como para o Gestor de Recursos. Instale o Azure CLI e selecione a sua subscrição.

Inscreva-se na sua conta.

azure login

Selecione a subscrição Azure utilizando o seguinte comando.

azure account set "<azure-subscription-name>"

Nota

O registo é um passo único, mas tem de ser feito uma vez antes de tentar migrar. Sem registar verá a seguinte mensagem de erro

BadRequest : A subscrição não está registada para migração.

Registe-se junto do fornecedor de recursos de migração utilizando o seguinte comando. Note que em alguns casos, este comando acaba. No entanto, o registo será bem sucedido.

azure provider register Microsoft.ClassicInfrastructureMigrate

Por favor, espere cinco minutos para a inscrição terminar. Pode verificar o estado da aprovação utilizando o seguinte comando. Certifique-se de que o Estado de Registo está Registered antes de prosseguir.

azure provider show Microsoft.ClassicInfrastructureMigrate

Agora mude o CLI para o asm modo.

azure config mode asm

Passo 3: Certifique-se de que tem vCPUs virtual do Gestor de Recursos Azure na região Azure da sua atual implantação ou VNET

Para este passo terá de mudar para arm o modo. Faça isto com o seguinte comando.

azure config mode arm

Pode utilizar o seguinte comando CLI para verificar o número atual de vCPUs que tem no Azure Resource Manager. Para saber mais sobre as quotas vCPU, consulte Limits e o Azure Resource Manager.

azure vm list-usage -l "<Your VNET or Deployment's Azure region"

Uma vez terminado a verificação deste passo, pode voltar ao asm modo.

azure config mode asm

Passo 4: Opção 1 - Migrar máquinas virtuais num serviço de nuvem

Obtenha a lista de serviços em nuvem usando o seguinte comando e, em seguida, escolha o serviço de nuvem que deseja migrar. Note que se os VMs no serviço de nuvem estiverem numa rede virtual ou se tiverem funções web/trabalhador, receberá uma mensagem de erro.

azure service list

Executar o seguinte comando para obter o nome de implementação do serviço de nuvem a partir da saída verbose. Na maioria dos casos, o nome de implantação é o mesmo que o nome de serviço em nuvem.

azure service show <serviceName> -vv

Em primeiro lugar, valide se conseguir migrar o serviço de nuvem utilizando os seguintes comandos:

azure service deployment validate-migration <serviceName> <deploymentName> new "" "" ""

Prepare as máquinas virtuais no serviço de nuvem para migração. Tem duas opções para escolher.

Se pretender migrar os VMs para uma rede virtual criada pela plataforma, utilize o seguinte comando.

azure service deployment prepare-migration <serviceName> <deploymentName> new "" "" ""

Se pretender migrar para uma rede virtual existente no modelo de implementação do Gestor de Recursos, utilize o seguinte comando.

azure service deployment prepare-migration <serviceName> <deploymentName> existing <destinationVNETResourceGroupName> <subnetName> <vnetName>

Depois de a operação de preparação ter sido bem sucedida, pode olhar através da produção verbosa para obter o estado de migração dos VMs e garantir que estão no Prepared estado.

azure vm show <vmName> -vv

Verifique a configuração dos recursos preparados utilizando o CLI ou o portal Azure. Se não estiver pronto para a migração e quiser voltar ao estado antigo, use o seguinte comando.

azure service deployment abort-migration <serviceName> <deploymentName>

Se a configuração preparada parecer boa, pode avançar e comprometer os recursos utilizando o seguinte comando.

azure service deployment commit-migration <serviceName> <deploymentName>

Passo 4: Opção 2 - Migrar máquinas virtuais numa rede virtual

Escolha a rede virtual que pretende migrar. Note que se a rede virtual contiver funções web/trabalhador ou VMs com configurações não suportadas, receberá uma mensagem de erro de validação.

Obtenha todas as redes virtuais na subscrição utilizando o seguinte comando.

azure network vnet list

A saída será semelhante à seguinte:

Screenshot da linha de comando com todo o nome de rede virtual realçado.

No exemplo acima, o virtualNetworkName é o nome completo "Group classicubuntu16 classicubuntu16".

Em primeiro lugar, valide se conseguir migrar a rede virtual utilizando o seguinte comando:

azure network vnet validate-migration <virtualNetworkName>

Prepare a rede virtual da sua escolha para a migração utilizando o seguinte comando.

azure network vnet prepare-migration <virtualNetworkName>

Verifique a configuração das máquinas virtuais preparadas utilizando o CLI ou o portal Azure. Se não estiver pronto para a migração e quiser voltar ao estado antigo, use o seguinte comando.

azure network vnet abort-migration <virtualNetworkName>

Se a configuração preparada parecer boa, pode avançar e comprometer os recursos utilizando o seguinte comando.

azure network vnet commit-migration <virtualNetworkName>

Passo 5: Migrar uma conta de armazenamento

Uma vez terminada a migração das máquinas virtuais, recomendamos que emigres a conta de armazenamento.

Prepare a conta de armazenamento para a migração utilizando o seguinte comando

azure storage account prepare-migration <storageAccountName>

Verifique a configuração da conta de armazenamento preparada utilizando o CLI ou o portal Azure. Se não estiver pronto para a migração e quiser voltar ao estado antigo, use o seguinte comando.

azure storage account abort-migration <storageAccountName>

Se a configuração preparada parecer boa, pode avançar e comprometer os recursos utilizando o seguinte comando.

azure storage account commit-migration <storageAccountName>

Passos seguintes