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)

Aplica-se a: ✔️ VMs windows de VMs ✔️ do Linux

Importante

Atualmente, cerca de 90% das VMs IaaS estão a utilizar o Azure Resource Manager. A partir de 28 de fevereiro de 2020, as VMs clássicas foram preteridas e serão totalmente descontinuadas a 6 de setembro de 2023. Saiba mais sobre esta preterição e como isso o afeta.

Estes passos mostram-lhe como utilizar comandos da CLI para migrar recursos de infraestrutura como serviço (IaaS) do modelo de implementação clássica para o modelo de implementação Resource Manager do Azure. O artigo requer a CLI clássica do Azure. Uma vez que a CLI do Azure se aplica apenas aos recursos Resource Manager do Azure, não pode ser utilizada para esta migração.

Nota

Todas as operações descritas aqui são idempotentes. Se tiver um problema que não seja uma funcionalidade não suportada ou um erro de configuração, recomendamos que repita a operação de preparação, abortação ou consolidação. Em seguida, a plataforma tentará a ação novamente.


Eis um fluxograma para identificar a ordem pela qual os passos têm de ser executados durante um processo de migração

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

Passo 1: Preparar a migração

Eis algumas melhores práticas que recomendamos ao avaliar a migração de recursos IaaS de clássico para Resource Manager:

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

Importante

Atualmente, os Gateways de Aplicação não são suportados para migração de clássico para Resource Manager. Para migrar uma rede virtual clássica com um Gateway de aplicação, remova o gateway antes de executar uma operação Preparar para mover a rede. Depois de concluir a migração, volte a ligar o gateway no Azure Resource Manager.

Os gateways do ExpressRoute que se ligam aos circuitos do ExpressRoute noutra subscrição não podem ser migrados automaticamente. Nestes casos, remova o gateway do ExpressRoute, migre a rede virtual e recrie o gateway. Veja Migrar circuitos do ExpressRoute e redes virtuais associadas do modelo de implementação clássica para o modelo de implementação do Resource Manager para obter mais informações.

Passo 2: Definir a sua subscrição e registar o fornecedor

Para cenários de migração, tem de configurar o seu ambiente para as Resource Manager e clássicas. Instale a CLI clássica do Azure e selecione a sua subscrição.

Inicie sessão na sua conta.

azure login

Selecione a subscrição do Azure com 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 a migração. Sem se registar, verá a seguinte mensagem de erro

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

Registe-se no fornecedor de recursos de migração com o seguinte comando. Tenha em atenção que, em alguns casos, este comando excede o limite de tempo. No entanto, o registo será bem-sucedido.

azure provider register Microsoft.ClassicInfrastructureMigrate

Aguarde cinco minutos para que o registo seja concluído. Pode verificar o estado da aprovação com o seguinte comando. Certifique-se de que RegistrationState está Registered antes de continuar.

azure provider show Microsoft.ClassicInfrastructureMigrate

Agora, mude a CLI para o asm modo.

azure config mode asm

Passo 3: certifique-se de que tem vCPUs suficientes do Azure Resource Manager Máquina Virtual na região do Azure da sua implementação ou VNET atual

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

azure config mode arm

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

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

Quando terminar de verificar este passo, pode voltar ao asm modo.

azure config mode asm

Passo 4: Opção 1 – Migrar máquinas virtuais num serviço cloud

Obtenha a lista de serviços cloud com o seguinte comando e, em seguida, escolha o serviço cloud que pretende migrar. Tenha em atenção que, se as VMs no serviço cloud estiverem numa rede virtual ou se tiverem funções web/de trabalho, receberá uma mensagem de erro.

azure service list

Execute o seguinte comando para obter o nome da implementação do serviço cloud a partir da saída verbosa. Na maioria dos casos, o nome da implementação é o mesmo que o nome do serviço cloud.

azure service show <serviceName> -vv

Primeiro, valide se pode migrar o serviço cloud com os seguintes comandos:

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

Preparar as máquinas virtuais no serviço cloud para migração. Tem duas opções para escolher.

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

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

Se quiser migrar para uma rede virtual existente no modelo de implementação Resource Manager, utilize o seguinte comando.

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

Depois de a operação de preparação ser concluída com êxito, pode analisar a saída verbosa para obter o estado de migração das VMs e garantir que estão no Prepared estado.

azure vm show <vmName> -vv

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

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

Se a configuração preparada parecer boa, pode avançar e consolidar os recursos com 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. Tenha em atenção que, se a rede virtual contiver funções Web/de trabalho ou VMs com configurações não suportadas, receberá uma mensagem de erro de validação.

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

azure network vnet list

A saída será semelhante à seguinte:

Captura de ecrã da linha de comandos com todo o nome da rede virtual realçado.

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

Primeiro, valide se pode migrar a rede virtual com o seguinte comando:

azure network vnet validate-migration <virtualNetworkName>

Prepare a rede virtual à sua escolha para migração com o seguinte comando.

azure network vnet prepare-migration <virtualNetworkName>

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

azure network vnet abort-migration <virtualNetworkName>

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

azure network vnet commit-migration <virtualNetworkName>

Passo 5: Migrar uma conta de armazenamento

Quando terminar de migrar as máquinas virtuais, recomendamos que migre a conta de armazenamento.

Preparar a conta de armazenamento para migração com o seguinte comando

azure storage account prepare-migration <storageAccountName>

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

azure storage account abort-migration <storageAccountName>

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

azure storage account commit-migration <storageAccountName>

Passos seguintes