Eseguire la migrazione di risorse IaaS dal modello classico al modello di Azure Resource Manager tramite l'interfaccia della riga di comando di Azure

Si applica a: ✔️ Macchine virtuali ✔️ Linux Windows

Importante

Oggigiorno, circa il 90% delle macchine virtuali IaaS usa Azure Resource Manager. A partire dal 28 febbraio 2020, le macchine virtuali classiche sono state deprecate e verranno ritirate completamente il 6 settembre 2023. Altre informazioni su questa deprecazione e sui relativi effetti sull'utente.

Questi passaggi illustrano come usare i comandi dell'interfaccia della riga di comando per eseguire la migrazione delle risorse IaaS (Infrastructure as a Service) dal modello di distribuzione classica al modello di distribuzione di Azure Resource Manager. Ai fini dell'articolo, è necessario usare l'interfaccia della riga di comando classica di Azure. Poiché l'interfaccia della riga di comando di Azure si applica solo alle risorse Resource Manager di Azure, non può essere usata per questa migrazione.

Nota

Tutte le operazioni descritte di seguito sono idempotenti. Se vengono rilevati errori diversi da una funzionalità non supportata o un errore di configurazione, è consigliabile provare a ripetere l'operazione di preparazione, interruzione o commit. La piattaforma proverà di nuovo a eseguire l'azione.


Ecco un diagramma di flusso per identificare l'ordine di esecuzione dei passaggi durante un processo di migrazione

Screenshot that shows the migration steps

Passaggio 1: Preparare la migrazione

Ecco alcune procedure consigliate per valutare la migrazione delle risorse IaaS dal modello classico al modello di Resource Manager:

  • Leggere l'elenco di configurazioni e funzionalità non supportate. Se sono disponibili macchine virtuali che usano configurazioni o funzionalità non supportate, è consigliabile attendere l'annuncio del supporto di tali configurazioni o funzionalità. In alternativa, è possibile rimuovere tale funzionalità o uscire da tale configurazione per abilitare la migrazione se ciò soddisfa le esigenze.
  • Se si hanno script automatizzati che consentono di distribuire subito l'infrastruttura e le applicazioni, provare a creare una configurazione di test simile usando questi script per la migrazione. In alternativa, è anche possibile configurare ambienti di esempio tramite il portale di Azure.

Importante

I gateway applicazione non sono attualmente supportati per la migrazione dal modello di distribuzione classica a Resource Manager. Per eseguire la migrazione di una rete virtuale classica con un gateway applicazione, rimuovere il gateway prima di eseguire un'operazione di preparazione dello spostamento della rete. Dopo aver completato la migrazione, riconnettere il gateway in Azure Resource Manager.

Non è possibile eseguire la migrazione automatica di gateway ExpressRoute che si connettono a circuiti ExpressRoute in un'altra sottoscrizione. In tal caso, rimuovere il gateway ExpressRoute, eseguire la migrazione della rete virtuale e ricreare il gateway. Per altre informazioni, vedere Eseguire la migrazione di circuiti ExpressRoute e delle reti virtuali associate dalla distribuzione classica al modello di distribuzione Resource Manager.

Passaggio 2: Impostare la sottoscrizione e registrare il provider

Per gli scenari di migrazione è necessario configurare l'ambiente per il modello classico e di Resource Manager. Installare l'interfaccia della riga di comando classica di Azure e selezionare la sottoscrizione.

Accedere al proprio account.

azure login

Selezionare la sottoscrizione di Azure usando il comando seguente.

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

Nota

La registrazione è un passaggio da eseguire un'unica volta, tuttavia deve essere eseguita prima di tentare la migrazione. Senza la registrazione verrà visualizzato il seguente messaggio di errore

BadRequest: Subscription is not registered for migration (Richiesta non valida: la sottoscrizione non è registrata per la migrazione)

Registrarsi con il provider di risorse di migrazione utilizzando il comando seguente. Si noti che in alcuni casi questo comando si verifica il timeout. Tuttavia, la registrazione avrà esito positivo.

azure provider register Microsoft.ClassicInfrastructureMigrate

Attendere cinque minuti che la registrazione venga completata. È possibile controllare lo stato dell'approvazione con il comando seguente. Assicurarsi che RegistrationState sia Registered prima di procedere.

azure provider show Microsoft.ClassicInfrastructureMigrate

Passare ora dall'interfaccia della riga di comando alla modalità asm .

azure config mode asm

Passaggio 3: verificare che siano disponibili sufficienti CPU virtuali delle macchine virtuali di Azure Resource Manager nell'area di Azure di cui fa parte la distribuzione corrente o la rete virtuale

Per questo passaggio è necessario passare alla modalità arm . A tale scopo, eseguire il comando seguente.

azure config mode arm

È possibile usare il comando seguente dell'interfaccia della riga di comando per controllare il numero corrente di CPU virtuali in Azure Resource Manager. Per altre informazioni sulle quote di CPU virtuali, vedere Limiti e Azure Resource Manager.

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

Dopo aver verificato questo passaggio, è possibile passare nuovamente alla modalità asm .

azure config mode asm

Passaggio 4: Opzione 1 - Eseguire la migrazione delle macchine virtuali a un servizio cloud

Ottenere l'elenco dei servizi cloud con il comando seguente e selezionare il servizio cloud di cui si vuole eseguire la migrazione. Si noti che se le VM nel servizio cloud si trovano in una rete virtuale o hanno ruoli Web/di lavoro, verrà visualizzato un messaggio di errore.

azure service list

Eseguire il comando seguente per ottenere il nome della distribuzione per il servizio cloud dall'output dettagliato. Nella maggior parte dei casi, il nome della distribuzione corrisponde al nome del servizio cloud.

azure service show <serviceName> -vv

Per prima cosa, verificare se è possibile eseguire la migrazione del servizio cloud usando i comandi seguenti:

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

Preparare le macchine virtuali nel servizio cloud per la migrazione. È possibile scegliere tra due opzioni.

Se si vuole eseguire la migrazione delle VM a una rete virtuale creata dalla piattaforma, usare il comando seguente.

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

Se si vuole eseguire la migrazione a una rete virtuale esistente nel modello di distribuzione Resource Manager, usare il comando seguente.

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

Dopo aver completato l'operazione di preparazione, è possibile osservare l'output dettagliato per ottenere lo stato di migrazione delle VM, verificando che sia Prepared .

azure vm show <vmName> -vv

Controllare la configurazione per le risorse preparate tramite l'interfaccia della riga di comando o il portale di Azure. Se non si è pronti per la migrazione e si vuole tornare allo stato precedente, usare il comando seguente.

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

Se la configurazione preparata appare corretta, è possibile procedere ed eseguire il commit delle risorse usando il comando seguente.

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

Passaggio 4: Opzione 2 - Eseguire la migrazione delle macchine virtuali a una rete virtuale

Selezionare la rete virtuale per cui si vuole eseguire la migrazione. Si noti che se la rete virtuale contiene ruoli Web/di lavoro o VM con configurazioni non supportate, verrà visualizzato un messaggio di errore di convalida.

Ottenere tutte le reti virtuali nella sottoscrizione con il comando seguente.

azure network vnet list

L'output sarà simile al seguente:

Schermata della riga di comando con evidenziato l'intero nome della rete virtuale.

Nell'esempio precedente il valore virtualNetworkName è l'intero nome "Gruppo classicubuntu16 classicubuntu16".

Per prima cosa, verificare se sia possibile eseguire la migrazione della rete virtuale usando il comando seguente:

azure network vnet validate-migration <virtualNetworkName>

Preparare la rete virtuale scelta per la migrazione con il comando seguente.

azure network vnet prepare-migration <virtualNetworkName>

Controllare la configurazione per le macchine virtuali preparate tramite l'interfaccia della riga di comando o il portale di Azure. Se non si è pronti per la migrazione e si vuole tornare allo stato precedente, usare il comando seguente.

azure network vnet abort-migration <virtualNetworkName>

Se la configurazione preparata appare corretta, è possibile procedere ed eseguire il commit delle risorse usando il comando seguente.

azure network vnet commit-migration <virtualNetworkName>

Passaggio 5: Eseguire la migrazione di un account di archiviazione

Dopo aver completato la migrazione delle macchine virtuali, si consiglia di migrare l'account di archiviazione.

Preparare l'account di archiviazione per la migrazione con il comando seguente.

azure storage account prepare-migration <storageAccountName>

Controllare la configurazione per l'account di archiviazione preparato tramite l'interfaccia della riga di comando o il portale di Azure. Se non si è pronti per la migrazione e si vuole tornare allo stato precedente, usare il comando seguente.

azure storage account abort-migration <storageAccountName>

Se la configurazione preparata appare corretta, è possibile procedere ed eseguire il commit delle risorse usando il comando seguente.

azure storage account commit-migration <storageAccountName>

Passaggi successivi