Azure Resource Mover – Spostare facilmente risorse tra diverse Region di Azure

Azure Resource Mover è un servizio gratuito annunciato ieri a Microsoft Ignite 2020, l’evento dedicato ai professionisti dell’IT e agli sviluppatori enterprise Microsoft, che permette di poter spostare le risorse tra le diverse regioni di Azure in maniera comoda e veloce. Il servizio ha lo scopo di fornire un’analisi, una pianificazione e un test delle dipendenze tra le diverse risorse di Azure che assicuri che queste siano pronte per lo spostamento e quindi trasferite con successo nella regione desiderata. Tra le risorse che è possibile spostare ci sono macchine virtuali, reti virtuali, database SQL di Azure ecc.

La soluzione è decisamente interessante se si pensa che le region stanno continuamente aumentando e i clienti possono decidere di spostare le proprie risorse nella region più vicina, in modo tale da poter ridurre la latenza. Avevamo già affrontato questo argomento nell’articolo Come scegliere la Region di Azure dove mettere i nostri dati?. Considerate anche che tra pochi mesi sarà disponibile anche una Azure Region in Italia, annunciata a maggio di quest’anno. Microsoft ha infatti stanziato 1,5 miliardi di dollari per il piano quinquennale di investimenti digitale Ambizione Italia #DigitalRestart. Lo scopo è di “creare nuove opportunità per far crescere persone e organizzazioni e supportare lo sviluppo economico” in Italia.

Azure Resource Mover quindi si presta benissimo a poter spostare, da un’unica interfaccia, le nostre risorse dai datacenter olandesi (West Europe) o irlandesi (North Europe), verso i datacenter italiani (Italy North).

Figura 1: Processo di spostamento delle risorse da una region da Azure ad un’altra, utilizzando Azure Resource Mover

In questa guida ci occuperemo di spostare una Azure VM da un region ad un’altra.

Dal portale di Azure cercate Azure Resource Mover e cliccate su Get Started.

Figura 2: Azure Resource Mover nel portale di Azure

Specificate la sottoscrizione, la region di partenza e la region di destinazione dello spostamento delle vostre Azure VM.

Figura 3: Scelta delle region tra cui effettuare lo spostamento

Selezionate le VM e le risorse da spostare. Nel mio caso ho selezionato solo la VM.

Figura 4 Scelta della VM e delle risorse da spostare tra due region di Azure

Figura 5: Conferma delle risorse da spostare

Procedete con lo spostamento utilizzando il tasto Proceed. Come si può vedere nella figura sotto, Azure Resource Mover ci aiuterà a validare le dipendenze tra le risorse, a preparare il processo di spostamento e successivamente ad effettuare lo spostamento delle risorse scelte.

Figura 6: Schermata riassuntiva di Azure Resource Mover

Tutte le risorse aggiunte si trovano nello stato di ‘Prepare’ pending. La prima operazione da fare è risolvere gli errori relativi alle risorse di Azure non trovate. Se per le risorse viene visualizzato un messaggio Validate dependencies nella colonna Issues, fate clic sul pulsante Validate dependencies. Viene avviato il processo di convalida. Se vengono trovate dipendenze, fate clic su Add dependencies.

Figura 7: Messaggio ‘validate dependencies’ nella colonna Issues e avvio del processo di convalida

Figura 8: Aggiunta delle dipendenze trovate dal processo di convalida

Volutamente ho aggiunto solo la VM. Questo mi è servito per mostrarvi che oltre alla VM devono essere spostati anche il resource group, la scheda della VM, l’eventuale indirizzo IP pubblico della VM e la VNET. Per questo motivo Azure Resource Mover mi segnalerà che ci sono delle dipendenze da aggiungere al processo di spostamento.

Figura 9: Aggiunta delle dipendenze trovate durante il processo di convalida

Ripetete il processo di convalida se avete ancora errori nella colonna Issues e aggiungete le eventuali dipendenze tra le risorse da spostare.

Figura 10: Aggiunta di ulteriori dipendenze alle risorse da sposare.

Se necessario, aggiungete altre dipendenze e convalidate di nuovo le dipendenze.

Figura 11: Tutte le risorse da spostare appaiono nella pagina di Azure Resource Mover

Dopo aver terminato il processo di convalida ed aver aggiunto tute le dipendenze, le risorse si troveranno nello stato di ‘Prepare’ pending.

Figura 12: Le risorse da spostare si trovano nello stato di ‘Prepare’ pending

Spostamento del Resource Group

La prima risorsa da spostare è certamente il resource group. Prima di poter preparare e spostare le macchine virtuali, il gruppo di risorse delle macchine virtuali deve essere presente nell’area di destinazione. Per creare un resource group nella region di destinazione è sufficiente selezionare il resource group di partenza e fare clic su Prepare.

Figura 13: Resource group da spostare

Figura 14: Preparazione del resource group da spostare.

Dopo aver preparato il resource group, selezionatelo e cliccate su Initiate move. Il gruppo di risorse passa allo stato ‘Initiate Move’ pending.

Figura 15: Avvio spostamento del resource group

Figura 16: Inizio spostamento del resource group

Dopo l’avvio dello spostamento, viene creato il gruppo di risorse di destinazione in base al modello di Resource Manager (ARM Template) generato da Azure Resource Mover. Il gruppo di risorse di origine passa allo stato ‘Commit move’ pending.

Figura 17: Il gruppo di risorse di origine passa allo stato ‘Commit move’ pending

Per eseguire il commit e terminare il processo di spostamento del resource group è sufficiente selezionarlo e fare clic su Commit move. Dopo il commit dello spostamento il gruppo di risorse di origine si trova nello stato ‘Delete source’ pending.

Preparazione delle risorse da spostare

Dopo aver spostato il gruppo di risorse di origine è possibile preparare lo spostamento delle altre risorse. Selezionate le risorse da preparare e fate clic sul pulsante Prepare. Nella finestra successiva cliccate sul pulsante Prepare.

Figura 18: Selezione delle risorse da spostare

Figura 19: Preparazione delle risorse da spostare

Durante la fase di preparazione verrà installato all’interno delle VM l’Azure Site Recovery Mobility Agent, che servirà per la replica delle VM. I dati verranno replicati periodicamente tra le due region che avete scelto, senza impattare in nessun modo la VM sorgente. Azure Resource Mover si occuperà di generare il template ARM per la creazione delle risorse di destinazione e dopo aver preparato le risorse lo stato cambierà in Initiate move pending. Il processo di preparazione in questo caso durerà alcuni minuti.

Figura 20: Preparazione delle risorse da spostare

Terminata la fase di preparazione sarà sufficiente selezionare le risorse e cliccare sul pulsante Initiate move.

Figura 21: Selezione delle risorse da spostare

Figura 22: Avvio dello spostamento delle risorse

Durante questa operazione vengono create macchine virtuali di replica nell’area di destinazione. La macchina virtuale di origine viene arrestata e rimane inattiva per qualche minuto. Tenere traccia dello stato di avanzamento dello spostamento nella barra delle notifiche. Dopo lo spostamento le risorse si troveranno nello stato ‘Commit move’ pending. Il processo di spostamento durerà alcuni minuti.

Figura 23: Inizio del processo di Commit Move per le risorse da spostare

Figura 24: Le risorse spostate sono nello status ‘Delete Source’ pending

Dopo il commit dello spostamento la replica delle macchine virtuali viene arrestata. Il commit non influisce sulla macchina virtuale di origine e sulle risorse di rete di origine. Dopo il commit dello spostamento le risorse si trovano nello stato Delete Source’ pending. La VM di partenza verrà spenta e sarà operativa invece la VM di destinazione.

Nella figura sotto viene mostrato il nuovo resource group con le risorse che sono state migrate nella region di destinazione (nel mio caso North Europe):

Figura 25: Le risorse sono state spostate nella region di destinazione

Le risorse di origine possono essere cancellate semplicmente cliccando sulle singole risorse nel pannello di Azure Resource Mover e cliccando sul pulsante Delete.

Figura 26: Cancellazione delle risorse di origine

Le risorse che sono state migrate possono essere invece cancellate da Azure Resource Mover dopo essere state selezionate e aver cliccato sul pulsate Remove.

Figura 27: Rimozione delle risorse spostate da Azure Resource Mover

Azure Resource Mover crea delle risorse aggiuntive in un resource group chiamato ResourceMoverRG-<region di origine>->region di destinazione>. La Move Collection è nascosta per impostazione predefinita. Per visualizzarla, è necessario attivare le risorse nascoste. Dopo che tutte le macchine virtuali e le altre risorse nella region di origine sono state spostate o eliminate, per assicurarvi che non vi siano risorse in sospeso che le usano, potete cancellare la move collection, lo storage account e il recovery services vault utilizzati per lo spostamento.

Figura 28: Risorse create da Azure Resource Mover per effettuare lo spostamento

Conclusioni

Azure Resource Mover permette di spostare facilmente le risorse da una region di Azure ad un’altra, dandoci la possibilità di utilizzare un’unica schermata da cui poter gestire il processo di spostamento. Con l’aumentare delle region di Azure potrebbe essere conveniente per alcuni clienti spostare i propri workload nella region più vicina in modo da poter ridurre la latenza di accesso ai propri dati.