Azure Template: Creare le Virtual Machine

Microsoft Azure

La creazione delle macchine virtuali all’interno di Microsoft Azure è da considerarsi un’operazione sicuramente facile da eseguire, che in pochi minuti riesce a generare un nuovo oggetto pronto per essere utilizzato. Ma se dobbiamo creare più VM ecco che si si presentano due problemi: dover ripetere più volte la stessa operazione e, soprattutto, il rischio di sbagliare ad inserire i dati.

Per evitare tutto ciò, è possibile utilizzare uno strumento messo a disposizione nel portale Azure, ovvero i Template.

Azure Resource Manager basa la creazione dei suoi oggetti su dei file in formato .json, personalizzabili ed importabili all’interno del portale web, al fine di eseguire operazioni più o meno complesse, in modo facile e veloce. Le macchine virtuali non sono da meno e quindi in questo articolo andiamo a vedere come costruire un modello utile per la creazione di una VM; ovviamente il file può essere creato da zero, sfruttando la documentazione presente su docs.com, ma in questo caso partiremo da una macchina virtuale creata tramite wizard classico.

Download Template

Create la vostra macchina virtuale modello, usando tutti i parametri corretti, come il piano della VM, la virtual network ed il Network Security Group.

Figura 1 – Creazione VM

Una volta arrivati alla schermata di riepilogo, dovrete cliccare sul link Download template and parameters – figura 2.

Figura 2 – Validazione VM

Scaricare il template, figura 3, che vi verrà proposto sotto forma di file .zip.

Figura 3 – Download Template

Una volta completato il download, potrete procedere con l’aggiunta all’interno della vostra libreria, assegnandoli un nome. Questa operazione ci aiuterà a portare già parte del template all’interno di un repository centralizzato, che andremo ad ultimare successivamente.

Personalizzazione Template

Nella barra di ricerca del portale Azure, cercate Template e cliccate sulla voce Templates (preview) – figura 4.

Figura 4 – Ricerca Template

All’interno troverete tutti i template che avete salvato: macchine virtuali, storage account, webapp, etc. Tanto per capire perché facciamo tutto questo, se provate a cliccare sul pulsante Deploy, vi comparirà il template non parametrizzato e quindi da compilare in ogni singolo campo – figura 5.

Figura 5 – Template non Parametrizzato

Il nostro obiettivo è fare in modo che facendo il deploy, la maggior parte dei campi siano già precompilati, riducendo così il rischio di errore ma soprattutto velocizzando le operazioni. Cliccate sul pulsante Edit, andando successivamente nella voce ARM Template – figura 6.

Figura 6 – Edit Template

Il template andrà modificando, prendendo i parametri dal file parameters che si trova all’interno del file .zip precedentemente scaricato. Copiate i vari valori all’interno delle varie aree, facendo attenzione a due cose importanti:

  • Mettete la virgola dopo la tipologia del valore (es. type: string)
  • Usate la stringa defaultValue (con la V maiuscola) per impostare il valore predefinito

Figura 7 – Impostazione Template

Il risultato finale dovrà essere simile a quello della figura 7. Chiaramente sta a voi decidere quali parametri impostare come predefiniti e quali no; personalmente la password la chiederei ogni volta, mentre alcuni campi, come il nome della VM, lo imposterei parzialmente.

Conclusa la personalizzazione, dovrete salvare il lavoro e testare che tutto sia corretto, cliccando nuovamente sul pulsante Deploy. Questa volta il risultato dovrà essere molto più soddisfacente e simile a quello mostrato nella figura 8.

 

Figura 8 – Template Compilato

Non vi resta che compilare i dati mancanti ed eseguire l’operazione. Se avete fatto tutto correttamente, dopo qualche minuto avrete la vostra macchina virtuale pronta per essere utilizzata – figura 9.

Figura 9 – VM Pronta

Conclusioni

L’utilizzo dei template è sicuramente importante per l’automazione dei processi di creazione degli oggetti in Azure, grazie alla possibilità di precompilare la maggior parte dei campi e rendere questi template accessibili a più utenti. Come tutti gli oggetti, è possibile richiamarli ed eseguirli da PowerShell così come dalla CLI.