Clonare rapidamente risorse tramite Azure Resource Manager

di Cristian Civera, in Portal,

Tutta la piattaforma Microsoft Azure offre un sistema unificato per la gestione delle risorse tramite molteplici strumenti come PowerShell, CLI e REST API. Che sia un database o una virtual machine, queste risorse sono raggruppate all'interno di un resource group, oltre che alla region di appartenenza. Il sistema di gestione, di nome Azure Resource Manager (ARM), dispone di un meccanismo basato su deployment che prende in carico ogni creazione o modifica che facciamo alle risorse e le esegue mantenendo uno storico.

Questo sistema può essere sfruttato anche per preparare dei template basati su sintassi JSON che definiscono un modello di risorse da creare: database, web app, virtual machine, pricing tier e configurazioni varie. Possono disporre di parametri, di variabili o di funzioni per rendere questi template dinamici in modo da applicarli facilmente ad altre subscription e resource group.

Possiamo sfruttare questa caratteristica anche per clonare una serie di risorse create manualmente dal portale. Pensiamo ad una situazione in cui dobbiamo riprodurre due ambienti, di staging e di produzione, identici nelle configurazioni, oppure portare le risorse su un'altra region per aumentare l'affidabilità. Il portale Azure per questo scopo mette a disposizione una funzione rapida per generare l'XML delle resource group. E' sufficiente andare sul gruppo desiderato e sulla voce Export template.

Il motore genera un JSON per rappresentare completamente tutte le nostre risorse e lo fa dettagliando ogni singola configurazione. Il JSON è molto verboso, per garantire l'uguaglianza nella creazione delle risorse, ma molto probabilmente molte delle configurazioni sono quelle predefinite di ogni risorsa. Anche i parametri in ingresso sono molteplici, ma possiamo sfruttare il pulsante Download per scaricare il JSON e applicare delle modifiche, magari applicando delle regole di generazione dei nomi.

Nell'effettuare il download, oltre al JSON disponiamo dello script PowerShell per effettuare il deploy su un'altra subscription o un altro resource group. In alternativa possiamo creare dal portale una nuova risorsa di tipo Template deployment.

Il wizard ci permette di caricare e modificare un template e di effettuarne direttamente il deploy.

A seconda del numero delle risorse l'operazione può impiegare qualche minuto ed è facile sbagliare qualche impostazione, perciò per lo sviluppo consigliamo di creare sempre un resource group apposito per ogni tentativo di deploy, da andare poi ad eliminare. Da notare, infine, che i deployment possono essere incrementali ed andare ad intervenire anche su resource group già preparati, applicando la differenza tra le impostazioni.
Per altre informazioni: https://docs.microsoft.com/it-it/azure/azure-resource-manager/resource-group-authoring-templates

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi