Come funziona Azure Resource Manager
Segua una richiesta di creazione di una risorsa attraverso il livello ARM, comprenda i gruppi di risorse come contenitori logici e scopra il controllo degli accessi basato sui ruoli e la traccia di audit di ARM.
Come funziona Azure Resource Manager è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.
Che cos'è Azure Resource Manager?
Azure Resource Manager (ARM) è il servizio di distribuzione e gestione di Azure. Ogni azione eseguita nel portale Azure, nella CLI, in PowerShell o tramite l'API REST passa attraverso ARM. Funziona come un piano di controllo centralizzato che autentica, autorizza e instrada ogni operazione sulle risorse.
Flusso delle richieste ARM
Quando inviate una richiesta per creare una risorsa, ARM la intercetta, verifica la vostra identità tramite Microsoft Entra ID, controlla le autorizzazioni RBAC, applica le eventuali regole di Azure Policy e inoltra quindi la richiesta convalidata al provider di risorse appropriato. Il provider di risorse (ad esempio, Microsoft.Compute) esegue l'operazione effettiva e restituisce il risultato ad ARM.
# Example: creating a VM via Azure CLI (routed through ARM)
az vm create \
--resource-group MyRG \
--name MyVM \
--image UbuntuLTS \
--admin-username azureuserProvider di risorse e tipi di risorsa
I servizi Azure sono esposti tramite provider di risorse, ciascuno identificato da uno spazio dei nomi come Microsoft.Storage o Microsoft.Network. Ogni tipo di risorsa (ad esempio, Microsoft.Storage/storageAccounts) deve essere registrato nella sottoscrizione prima di poterne creare istanze. La maggior parte dei provider viene registrata automaticamente al primo utilizzo del servizio correlato.
# List registered resource providers
az provider list --query "[?registrationState=='Registered'].namespace" -o table
# Register a provider manually
az provider register --namespace Microsoft.InsightsGruppi di risorse come contenitori logici
Un gruppo di risorse è un contenitore logico che include risorse Azure correlate. Tutte le risorse di un gruppo condividono lo stesso ciclo di vita: potete distribuirle, aggiornarle ed eliminarle insieme. I gruppi di risorse fungono inoltre da ambito predefinito per le assegnazioni RBAC e il monitoraggio dei costi. Ogni risorsa Azure deve appartenere a uno e un solo gruppo di risorse.
# Create a resource group
az group create --name MyResourceGroup --location eastus
# List all resources in a resource group
az resource list --resource-group MyResourceGroup -o tableARM e controllo degli accessi basato sui ruoli
ARM applica il controllo degli accessi basato sui ruoli (RBAC) a ogni ambito: gruppo di gestione, sottoscrizione, gruppo di risorse o singola risorsa. I ruoli predefiniti come Owner, Contributor e Reader coprono la maggior parte degli scenari. ARM valuta le assegnazioni di ruolo procedendo dall'ambito più ampio verso quelli inferiori; le assegnazioni di negazione possono bloccare le autorizzazioni ereditate.
# Assign Contributor role at resource group scope
az role assignment create \
--assignee user@contoso.com \
--role 'Contributor' \
--resource-group MyResourceGroupIl registro di controllo di ARM
Ogni operazione instradata tramite ARM viene registrata nel registro attività di Azure. Il registro attività indica chi ha eseguito l'operazione, quale risorsa è stata interessata, quando si è verificata l'operazione e se ha avuto esito positivo o negativo. Per impostazione predefinita, i registri attività vengono conservati per 90 giorni e possono essere archiviati in un account di archiviazione o trasmessi a Log Analytics per una conservazione più lunga.
# Query recent ARM operations in activity log
az monitor activity-log list \
--resource-group MyResourceGroup \
--max-events 10 \
--query '[].{time:eventTimestamp, caller:caller, operation:operationName.value, status:status.value}' \
-o tableDistribuzioni dichiarative e imperative
ARM supporta sia gli stili di distribuzione dichiarativo sia imperativo. Le distribuzioni dichiarative usano modelli ARM o Bicep per descrivere lo stato finale desiderato; ARM determina le operazioni necessarie per raggiungerlo. Le distribuzioni imperative usano comandi CLI o PowerShell eseguiti passo dopo passo. Le distribuzioni dichiarative sono preferibili per la ripetibilità, il controllo della versione e l'idempotenza.
# Imperative: create storage account step-by-step
az storage account create \
--name mystorageaccount \
--resource-group MyRG \
--location eastus \
--sku Standard_LRS
# Declarative: deploy via ARM template
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @azuredeploy.parameters.jsonModalità di distribuzione: completa e incrementale
Le distribuzioni di modelli ARM possono essere eseguite in due modalità. La modalità incrementale (predefinita) aggiunge o aggiorna le risorse definite nel modello, lasciando invariate quelle già presenti nel gruppo ma non incluse nel modello. La modalità completa elimina tutte le risorse del gruppo di risorse non definite nel modello, facendo corrispondere esattamente il gruppo al modello: utilizzatela con cautela.
# Incremental deployment (default)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode Incremental
# Complete deployment (deletes unlisted resources!)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode CompleteStruttura di un modello ARM
Un modello ARM è un documento JSON con sei sezioni principali: $schema (versione del modello), contentVersion, parameters (input), variables (valori calcolati), resources (elementi da distribuire) e outputs (valori da restituire). L'array resources contiene un oggetto per ogni risorsa Azure; ciascun oggetto specifica il tipo, la versione dell'API, il nome, la posizione e le proprietà.
{
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#',
'contentVersion': '1.0.0.0',
'parameters': {},
'variables': {},
'resources': [
{
'type': 'Microsoft.Storage/storageAccounts',
'apiVersion': '2023-01-01',
'name': 'mystorageaccount',
'location': '[resourceGroup().location]',
'sku': { 'name': 'Standard_LRS' },
'kind': 'StorageV2'
}
],
'outputs': {}
}Gestione delle dipendenze in ARM
Quando distribuite più risorse, ARM può distribuire in parallelo le risorse indipendenti per impostazione predefinita, accelerando le distribuzioni. Quando una risorsa dipende da un'altra (ad esempio, una VM richiede una NIC e la NIC richiede una VNet), dichiarate esplicitamente la dipendenza con dependsOn. ARM risolve il grafo delle dipendenze e ordina di conseguenza le operazioni.
{
'type': 'Microsoft.Network/networkInterfaces',
'name': 'myNic',
'dependsOn': [
'[resourceId("Microsoft.Network/virtualNetworks", "myVNet")]'
],
'properties': {
'ipConfigurations': [{
'name': 'ipconfig1',
'properties': {
'subnet': {
'id': '[resourceId("Microsoft.Network/virtualNetworks/subnets", "myVNet", "mySubnet")]'
}
}
}]
}
}Analisi what-if della distribuzione
Prima di eseguire una distribuzione, utilizzate l'operazione what-if per visualizzare in anteprima le modifiche che ARM apporterà senza applicarle effettivamente. L'output elenca le risorse che verranno create, modificate o eliminate, con colori diversi in base al tipo di modifica. Questa funzionalità è particolarmente utile prima di eseguire una distribuzione in modalità completa o di apportare modifiche agli ambienti di produzione.
# Preview changes before deploying
az deployment group what-if \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @params.jsonVerifica rapida
Verificate la vostra comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione avete imparato che Azure Resource Manager è il livello di gestione centralizzato per tutte le risorse Azure, che i gruppi di risorse sono contenitori logici che raggruppano risorse con lo stesso ciclo di vita e che le distribuzioni ARM possono essere eseguite in modalità incrementale o completa, con supporto per l'anteprima what-if. Nella prossima lezione esplorerete la scrittura di modelli ARM.
Domande Frequenti
La lezione «Come funziona Azure Resource Manager» è gratuita?
Sì — il testo completo di «Come funziona Azure Resource Manager» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Come funziona Azure Resource Manager»?
Segua una richiesta di creazione di una risorsa attraverso il livello ARM, comprenda i gruppi di risorse come contenitori logici e scopra il controllo degli accessi basato sui ruoli e la traccia di a… Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Azure Fundamentals?
Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Come funziona Azure Resource Manager»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?
Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Come funziona Azure Resource Manager
- Scrittura di template ARM
- Bicep: IaC moderno per Azure
- Terraform su Azure