M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Padroneggiare i template ARM: guida introduttiva all'infrastructure as code in Azure

By ·

Benvenuto nel nostro approfondimento sui template di Azure Resource Manager (ARM)! Se vuoi semplificare i deployment nel cloud, eliminare gli errori di configurazione manuale e avviarti davvero all'automazione nel cloud, sei nel posto giusto…

Automatically translated with AI from the original post. Read the English original

Benvenuto nel nostro approfondimento sui template di Azure Resource Manager (ARM)! Se vuoi semplificare i deployment nel cloud, eliminare gli errori di configurazione manuale e avviarti davvero all'automazione nel cloud, sei nel posto giusto. In questa guida completa analizzeremo i fondamenti dei template ARM, vedremo come funzionano all'interno dell'ecosistema Microsoft Azure e ti proporremo passaggi concreti per avviare il tuo percorso con l'Infrastructure as Code (IaC). Che tu stia gestendo ambienti di sviluppo sandbox o ambienti di produzione multi-region, comprendere i template ARM è una competenza di base per qualsiasi professionista del cloud.

Prima di entrare nei dettagli tecnici, se vuoi una spiegazione pratica e colloquiale di come funzionano questi concetti nella realtà, non perdere l'episodio del podcast che li accompagna, ARM Templates - Simply Explained, disponibile su M365 FM.

Che cosa sono i template ARM?

What Are ARM Templates?

I template ARM, ovvero template di Azure Resource Manager, sono uno strumento potente per definire e gestire le risorse di Azure. Consentono di automatizzare il deployment dell'infrastruttura usando una sintassi dichiarativa. In pratica, specifichi quali risorse vuoi, e Azure si occupa dei dettagli su come crearle.

Caratteristiche principali dei template ARM

I template ARM offrono diverse caratteristiche chiave che li distinguono da altri strumenti di deployment:

CaratteristicaDescrizione
CoerenzaGarantisce deployment uniformi in tutti gli ambienti, riducendo il configuration drift.
ScalabilitàConsente di replicare e scalare facilmente l'infrastruttura modificando i parametri o le definizioni.
Controllo di versioneI file di testo possono essere archiviati in sistemi di controllo di versione come Git.
EfficienzaAutomatizza i deployment, riducendo gli errori manuali e i tempi di distribuzione.
ModularitàSuddivide infrastrutture complesse in componenti più piccoli e riutilizzabili.
ConvalidaConvalida i template prima del deployment, individuando in anticipo i potenziali problemi.
Anteprima delle modificheConsente di visualizzare in anteprima le modifiche prima del deployment, per evitare modifiche impreviste.

Queste caratteristiche migliorano la tua capacità di gestire le risorse in modo efficace e garantiscono che i deployment siano affidabili e ripetibili.

Struttura JSON dei template ARM

La struttura JSON dei template ARM è fondamentale per definire l'infrastruttura. Permette di creare una rappresentazione chiara e ordinata delle risorse. Ecco i componenti essenziali di un template ARM:

Risorse

Le risorse sono i componenti principali di un template ARM. Definiscono i servizi di Azure che vuoi distribuire, come macchine virtuali, account di archiviazione e componenti di rete. Ogni risorsa include proprietà specifiche che ne determinano la configurazione. Ad esempio, quando distribuisci una macchina virtuale, specifichi dimensione, sistema operativo e impostazioni di rete.

Parametri

I parametri consentono di personalizzare i template per ambienti diversi. Puoi definire valori che gli utenti inseriscono al momento del deployment del template. Questa flessibilità significa che puoi usare lo stesso template in ambienti di sviluppo, test e produzione senza riscriverlo. Ad esempio, potresti avere un parametro per la dimensione della macchina virtuale, da adattare alle esigenze dell'ambiente.

Variabili

Le variabili memorizzano valori riutilizzabili all'interno del template. Aiutano a semplificare il codice e a renderlo più gestibile. Ad esempio, se usi più volte un determinato nome di account di archiviazione, puoi definirlo come variabile. In questo modo, se devi cambiare il nome, basta intervenire in un solo punto.

Output

Gli output forniscono informazioni al termine del deployment. Puoi usarli per restituire valori come ID di risorsa o stringhe di connessione. Questa funzione è particolarmente utile per integrarsi con altri processi o per fornire un riscontro agli utenti sul deployment.

I template ARM sono la tecnologia di base per l'Infrastructure as Code (IaC) in Azure. Consentono di definire le risorse in modo dichiarativo, semplificando la gestione di deployment complessi. Usando i template ARM, puoi garantire che l'infrastruttura sia coerente, ripetibile e facilmente gestibile.

Come funzionano i template ARM in Azure

Quando distribuisci risorse usando i modelli ARM, segui un processo strutturato che garantisce efficienza e precisione. Ecco un flusso di lavoro tipico per distribuire risorse in Azure:

  1. Genera le credenziali di distribuzione.
  2. Distribuisci il modello di Resource Manager.
  3. Crea un file di flusso di lavoro nella directory .github/workflows/.
  4. Configura il flusso di lavoro con i passaggi necessari per accedere ad Azure e distribuire il modello ARM.

Questo processo ti consente di automatizzare la distribuzione dell'infrastruttura, semplificando la gestione delle risorse di Azure.

Panoramica del processo di distribuzione

Per distribuire un modello personalizzato tramite il portale di Azure, segui questi passaggi:

  1. Seleziona Crea una risorsa, cerca modello e quindi seleziona Distribuzione del modello.
  2. Fai clic su Crea.
  3. Vengono visualizzate diverse opzioni per la creazione di un modello:
    • Crea il tuo modello nell'editor: crea un modello personalizzato nell'editor di modelli del portale.
    • Modelli comuni: seleziona tra le soluzioni più diffuse.
    • Carica un modello di avvio rapido da GitHub: seleziona tra i modelli di avvio rapido.
  4. In Carica un modello di avvio rapido da GitHub, digita o seleziona storage-account-create.
  5. Fai clic su Modifica modello per esplorare l'editor di modelli del portale.
  6. Apporta una piccola modifica al modello.
  7. Fai clic su Salva. Ora vedrai l'interfaccia di distribuzione del modello del portale.
  8. Inserisci o seleziona i valori delle proprietà:
    • Sottoscrizione: seleziona una sottoscrizione di Azure.
    • Gruppo di risorse: seleziona Crea nuovo e assegna un nome.
    • Percorso: seleziona un'area di Azure.
    • Tipo di account di archiviazione: usa il valore predefinito.
  9. Infine, fai clic su Acquista.

Questo processo di distribuzione evidenzia come i modelli ARM semplificano la creazione delle risorse di Azure.

Gestione delle risorse con ARM

I modelli ARM eccellono nella gestione delle risorse di Azure durante la distribuzione e gli aggiornamenti. Sono script dichiarativi che definiscono lo stato desiderato delle risorse. Ecco alcuni aspetti chiave di come i modelli ARM gestiscono le risorse:

  • I modelli ARM includono componenti come parametri, variabili, risorse e output. Questi componenti facilitano la personalizzazione e il riutilizzo.
  • La natura idempotente dei modelli ARM garantisce che le distribuzioni ripetute producano lo stesso stato delle risorse. Questo impedisce duplicazioni e conflitti.
  • Puoi specificare tipi di risorse, configurazioni e dipendenze all'interno dei modelli. Questo favorisce la manutenibilità e la scalabilità grazie alla loro struttura modulare.
  • Gli output delle distribuzioni possono essere utilizzati per ulteriore automazione e integrazione, potenziando la tua strategia complessiva di gestione del cloud.

Sfruttando i modelli ARM, puoi gestire efficacemente le risorse di Azure, garantendo che l'infrastruttura resti coerente e affidabile.

Vantaggi dell'uso dei modelli ARM

Benefits of Using ARM Templates

Coerenza e ripetibilità

Usare i modelli ARM offre vantaggi significativi in termini di coerenza e ripetibilità. Quando distribuisci risorse con i modelli ARM, puoi aspettarti risultati uniformi ogni volta. Questa coerenza deriva da alcuni fattori chiave:

  • I modelli ARM presentano un comportamento idempotente. Ciò significa che se distribuisci più volte lo stesso modello con gli stessi parametri, Azure non creerà risorse duplicate né apporterà modifiche non necessarie.
  • La struttura organizzata dei modelli ARM consente flessibilità e riutilizzo. Puoi usare lo stesso modello in ambienti diversi, mantenendo coerenti le distribuzioni.
  • La sintassi dichiarativa dei modelli ARM ti permette di definire lo stato desiderato dell'infrastruttura. Questa chiarezza migliora la ripetibilità delle distribuzioni, facilitando ai team la gestione efficace delle risorse.

Sfruttando queste caratteristiche, puoi semplificare i processi di distribuzione e ridurre il rischio di errori.

Vantaggi dell'infrastruttura come codice

I modelli ARM incarnano i principi dell'infrastruttura come codice (IaC), che offre numerosi vantaggi per la gestione delle risorse cloud. Ecco alcuni dei principali vantaggi:

  • I template ARM offrono un modo standardizzato per definire l'infrastruttura. Questa standardizzazione porta a distribuzioni coerenti in tutto il tuo ambiente Azure.
  • Automatizzare il processo di distribuzione riduce il rischio di errori umani, che spesso si verificano durante le configurazioni manuali. Questa automazione aiuta a prevenire il configuration drift, che nel tempo può portare a incoerenze.
  • Puoi distribuire risorse Azure senza mantenere una connessione attiva al template dopo la distribuzione. Questa funzionalità offre maggiore flessibilità nella gestione dell'infrastruttura.
  • Azure Blueprints migliorano le funzionalità di tracciamento e audit, preservando la relazione tra la definizione del blueprint e la distribuzione. Questo ti permette di monitorare facilmente le modifiche e mantenere la conformità.

Come creare template ARM

Creare template ARM comporta diversi passaggi. Segui questa guida per configurare l'ambiente, scrivere il primo template, convalidarlo e distribuirlo in modo efficace.

Guida passo passo alla creazione

Configurazione dell'ambiente

Per iniziare, ti servono gli strumenti giusti. Ecco alcune opzioni consigliate:

  • Visual Studio Code: questo editor leggero offre estensioni per Azure. Migliora la produttività con funzionalità come il completamento del codice e l'evidenziazione degli errori.
  • Azure CLI: usa questa interfaccia a riga di comando per convalidare e distribuire i template ARM.
  • ARM template test toolkit: questo strumento verifica i template rispetto alle procedure consigliate e fornisce un riscontro sulla conformità.

Scrivere il primo template

Segui questi passaggi per creare il tuo primo template ARM:

  1. Apri Visual Studio Code.
  2. Dal menu File, seleziona Nuovo file per creare un nuovo file.
  3. Dal menu File, seleziona Salva con nome.
  4. Assegna al file il nome azuredeploy e seleziona l'estensione json. Il nome completo del file sarà azuredeploy.json.
  5. Salva il file sulla tua workstation. Scegli un percorso facile da ricordare, perché ti servirà più avanti per distribuire il template.
  6. Copia e incolla nel file il seguente JSON:
    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": []
    }
  7. Salva il file.

Questo template di base per la distribuzione di un server pone le fondamenta del tuo template ARM.

Convalidare il template

Prima della distribuzione, convalida il template. Usa la Azure CLI per verificare la presenza di errori. Esegui il seguente comando:

az group deployment validate --resource-group yourresourcegroup_name --parameters .\LinuxVirtualMachine.parameters.json --template-file .\LinuxVirtualMachine.json

Se la convalida riesce, puoi procedere con la distribuzione delle risorse.

Distribuire il template

Per distribuire il template ARM, usa di nuovo la Azure CLI. Esegui il seguente comando:

az group deployment create --resource-group yourresourcegroup_name --parameters .\LinuxVirtualMachine.parameters.json --template-file .\LinuxVirtualMachine.json

Questo comando creerà le risorse definite nel template.

Seguendo questi passaggi puoi creare, convalidare e distribuire template ARM in modo efficace. Questo processo ti consente di gestire le risorse Azure in modo efficiente e garantisce che l'infrastruttura resti coerente.

Casi d'uso comuni per i template ARM

I template ARM hanno un ruolo fondamentale in diversi scenari di Azure. Semplificano la distribuzione e la gestione delle risorse, rendendoli essenziali per le operazioni cloud. Ecco alcuni casi d'uso comuni per i template ARM:

Distribuire macchine virtuali

Distribuire macchine virtuali (VM) in Azure con i template ARM semplifica il processo. Puoi creare un nuovo template ARM che definisce la configurazione della VM, inclusi dischi aggiuntivi e installazioni software. Segui questi passaggi per distribuire una VM in modo efficace:

  1. Crea un nuovo template ARM che definisce la configurazione della macchina virtuale, inclusi dischi aggiuntivi e installazioni software.
  2. Aggiungi le impostazioni di configurazione nel template ARM per creare una VM Windows Server con i dischi specificati.
  3. Usa le estensioni di script personalizzate nel template ARM per installare i componenti necessari, come IIS e .NET Runtime.
  4. Distribuisci la macchina virtuale con il template ARM, che applicherà automaticamente le configurazioni.

Questo approccio garantisce che le VM siano configurate in modo coerente e pronte all'uso in ambienti diversi.

Configurazione della rete

Configurare le risorse di rete è un'altra applicazione pratica dei template ARM. Puoi creare un template ARM gestibile che organizza in modo efficiente le risorse di rete. Ecco come configurare la rete con i template ARM:

  1. Crea un template ARM gestibile. Organizza i template usando template singoli, template annidati o gruppi di risorse separati.
  2. Prepara i prerequisiti. Assicurati di avere un editor JSON (come Visual Studio Code) e Azure PowerShell o Azure CLI installati.
  3. Crea e distribuisci un template ARM. Usa il template principale per fare riferimento ai template figli e passare i parametri.
  4. Convalida prima della distribuzione. Convalida sempre i template per individuare i problemi prima di distribuirli.

Seguendo questi passaggi, puoi creare una base di rete solida in Azure. Questa configurazione migliora la sicurezza e i modelli di connettività, garantendo che le risorse comunichino in modo efficace.

Oltre a questi casi d'uso specifici, i template ARM supportano diversi scenari negli ambienti aziendali. Ad esempio, consentono di creare landing zone per la governance condivisa e la rete. Puoi inoltre creare stack per web app per l'hosting ripetibile delle applicazioni. Inoltre, i template ARM facilitano le distribuzioni blu-verde per rilasci più sicuri, permettendoti di gestire le modifiche all'infrastruttura con sicurezza.

In sintesi, i template ARM offrono un modo potente per automatizzare e ottimizzare la gestione delle risorse di Azure. Sfruttando questi template, puoi migliorare le operazioni cloud e garantire coerenza tra le distribuzioni.

Risoluzione dei problemi dei template ARM

Quando lavori con i template ARM, potresti riscontrare diversi problemi durante la distribuzione. Capire quali sono gli errori comuni e le relative soluzioni può aiutarti a risolvere i problemi in modo rapido ed efficiente.

Errori comuni e soluzioni

Ecco alcuni errori frequenti che potresti incontrare durante la distribuzione dei template ARM, con le relative descrizioni:

Tipo di erroreDescrizione
LinkedAuthorizationFailedProblemi di autorizzazione durante l'accesso alle risorse tra sottoscrizioni o tenant.
DeploymentFailed con errori annidatiLe distribuzioni complesse spesso presentano errori a cascata.
Errori di sintassiErrori nella sintassi del template ARM che impediscono una distribuzione riuscita.
Conflitti tra risorseConflitti tra le risorse in corso di distribuzione, ad esempio nomi o tipi sovrapposti.
Limiti di quotaSuperamento dei limiti consentiti per le risorse in una sottoscrizione.
Problemi di dipendenzaProblemi causati da dipendenze errate o mancanti tra le risorse nel template.

Per risolvere questi errori, valuta le seguenti soluzioni:

  • Errore: LinkedAuthorizationFailed: assegna i ruoli RBAC appropriati per risolvere i problemi di autorizzazione.
  • Errore: DeploymentFailed con errori annidati: usa i comandi per elencare ed eseguire il debug delle operazioni di distribuzione annidate.
  • Convalida prima della distribuzione: convalida sempre i template e usa le distribuzioni what-if per visualizzare in anteprima le modifiche.

Best practice per il debug

Il debug dei template ARM può essere semplice se segui alcune best practice. Ecco alcuni consigli per migliorare il processo di debug:

  • Abilita il logging del contenuto di richieste e risposte durante le distribuzioni. Ti aiuterà a tenere traccia di ciò che accade durante la distribuzione.
  • Usa i comandi di PowerShell o CLI per recuperare i dettagli delle operazioni. Possono fornire indicazioni su cosa è andato storto.
  • Scegli tra tre opzioni di logging: RequestContent, ResponseContent oppure All, per raccogliere le informazioni utili al debug.

Inoltre, puoi usare diversi strumenti per risolvere in modo efficace i problemi dei template ARM:

  • Visual Studio Code con l'estensione Azure Resource Manager Tools
  • Azure PowerShell
  • Azure CLI

Seguendo queste pratiche, puoi semplificare il processo di debug e risolvere i problemi in modo più efficiente.

Domande frequenti

Che cos'è un template ARM?

Un template ARM è un file JSON che definisce l'infrastruttura e la configurazione delle risorse di Azure. Automatizza il processo di distribuzione, garantendo coerenza e ripetibilità.

Come si convalida un template ARM?

Puoi convalidare un template ARM usando Azure CLI. Esegui il comando az group deployment validate con il gruppo di risorse e il file del template per verificare la presenza di errori prima della distribuzione.

Posso usare i template ARM per più ambienti?

Sì, puoi usare i template ARM in ambienti diversi. Utilizzando i parametri, puoi personalizzare il template per sviluppo, test e produzione senza riscriverlo.

Che cosa succede se distribuisco più volte lo stesso template ARM?

Se distribuisci lo stesso template ARM con gli stessi parametri, Azure non creerà risorse duplicate. Questo comportamento idempotente garantisce risultati coerenti tra le distribuzioni.

Come si risolvono gli errori di distribuzione?

Per risolvere gli errori, controlla i messaggi di errore nel portale di Azure. Usa l'interfaccia della riga di comando di Azure o PowerShell per recuperare i log dettagliati. Convalida il template prima della distribuzione, così da individuare i problemi in anticipo.

Esistono strumenti che aiutano a creare template ARM?

Sì, strumenti come Visual Studio Code con le estensioni di Azure, l'interfaccia della riga di comando di Azure e l'ARM template test toolkit possono aiutarti a creare, convalidare e distribuire template ARM in modo efficace.

È possibile integrare i template ARM con le pipeline CI/CD?

Certamente! Puoi integrare i template ARM nelle pipeline CI/CD usando Azure DevOps o GitHub Actions. Questa integrazione automatizza le distribuzioni e migliora il tuo flusso di lavoro di sviluppo.


Conclusione

In questo blog abbiamo esplorato l'importanza fondamentale dei template ARM nella gestione efficace delle risorse cloud. Abbiamo visto come la sintassi JSON dichiarativa consenta distribuzioni coerenti e ripetibili, eliminando il drift di configurazione tra gli ambienti di sviluppo, test e produzione. Padroneggiando componenti come parametri, variabili, risorse e output, poni una base solida per l'automazione del cloud in azienda. Ti invitiamo a iniziare oggi stesso a scrivere e convalidare i tuoi template negli ambienti Azure.

Per approfondire questi concetti e metterli in pratica, ascolta anche il nostro episodio podcast collegato, ARM Templates - Simply Explained. Offre ulteriore contesto, suggerimenti sull'architettura e approfondimenti operativi per aiutare il tuo team a gestire con successo Azure.

🎧 Ascolta questo episodio

Vuoi una spiegazione pratica dei template ARM? Questo episodio affronta l'argomento con un linguaggio chiaro e mostra perché è importante per Microsoft 365, Azure, Power Platform, sicurezza, AI e il lavoro moderno.

Ascolta questo episodio se vuoi:

  • Capire i concetti chiave alla base dei template ARM
  • Vedere come si inserisce nell'ecosistema tecnologico Microsoft più ampio
  • Scoprire dove può creare valore concreto per la tua organizzazione

Potrebbero interessarti anche questi episodi correlati di M365 FM:

Scopri altre conversazioni pratiche su Microsoft su M365 FM.

Ultima revisione: luglio 2026.

A chi è rivolto

Questo episodio è pensato per amministratori Microsoft, architetti, sviluppatori, professionisti della sicurezza e responsabili aziendali che hanno bisogno di una base pratica prima di prendere decisioni su implementazione o governance.

🎧 Ascolta anche

  • Infrastructure as Code — Un passo successivo strettamente correlato, che aggiunge contesto utile e maggiore profondità pratica.
  • Azure Resource Manager — Un passo successivo strettamente correlato, che aggiunge contesto utile e maggiore profondità pratica.
  • Azure DevOps — Un passo successivo strettamente correlato, che aggiunge contesto utile e maggiore profondità pratica.

Entities in this article

Infrastructure as code ARM template JSON Azure Resource Manager Virtual machine Microsoft Azure Azure CLI Configuration drift GitHub Automation

Related articles

RSS