Esercitazione: Creare più istanze di risorse con modelli di Azure Resource Manager
Informazioni su come eseguire un'iterazione del modello di Azure Resource Manager (modello di ARM) per creare più istanze di una risorsa di Azure. In questa esercitazione si modifica un modello per creare tre istanze di account di archiviazione.
Questa esercitazione illustra le attività seguenti:
- Aprire un modello di avvio rapido
- Modificare il modello
- Distribuire il modello
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Per un modulo Learn che illustra la copia delle risorse, vedere Gestire distribuzioni cloud complesse usando funzionalità avanzate del modello di Resource Manager.
Prerequisiti
Per completare l'esercitazione di questo articolo, sono necessari gli elementi seguenti:
- Visual Studio Code con l'estensione Strumenti di Resource Manager. Vedere Avvio rapido: Creare modelli di ARM con Visual Studio Code.
Aprire un modello di avvio rapido
Modelli di avvio rapido di Azure è un repository di modelli di Azure Resource Manager. Anziché creare un modello da zero, è possibile trovare un modello di esempio e personalizzarlo. Il modello usato in questa guida introduttiva è denominato Create a standard storage account (Creare un account di archiviazione Standard). Il modello definisce una risorsa account di archiviazione di Azure.
In Visual Studio Code selezionare File>Apri file.
In Nome file incollare l'URL seguente:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Selezionare Apri per aprire il file.
Nel modello è definita una
Microsoft.Storage/storageAccounts
risorsa. Confrontare il modello con le informazioni di riferimento sui modelli. Prima di personalizzare il modello è utile acquisirne una conoscenza di base.Selezionare File>Salva con nome per salvare il file con il nome azuredeploy.json nel computer locale.
Modificare il modello
Il modello esistente crea un account di archiviazione. Personalizzare il modello per creare tre account di archiviazione.
Da Visual Studio Code, apportare le quattro modifiche seguenti:
Aggiungere un elemento
copy
alla definizione di risorsa dell'account di archiviazione. Nell'elementocopy
si specifica il numero di iterazioni e una variabile per il ciclo. Il valore del conteggio deve essere un numero intero positivo e non può essere maggiore di 800."copy": { "name": "storageCopy", "count": 3 },
La funzione
copyIndex()
restituisce l'iterazione attuale nel ciclo. L'indice viene usato come prefisso del nome.copyIndex()
è in base zero. Per eseguire l'offset del valore di indice, è possibile passare un valore nella funzionecopyIndex()
. Ad esempio:copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
Eliminare la definizione del
storageAccountName
parametro perché non viene più usata.Eliminare l'elemento
outputs
. Non è più necessario.Eliminare l'elemento
metadata
.
Il modello completato è simile a:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Premium_LRS",
"Premium_ZRS",
"Standard_GRS",
"Standard_GZRS",
"Standard_LRS",
"Standard_RAGRS",
"Standard_RAGZRS",
"Standard_ZRS"
],
"metadata": {
"description": "Storage Account type"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the storage account."
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-06-01",
"name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"copy": {
"name": "storageCopy",
"count": 3
},
"properties": {}
}
]
}
Salvare le modifiche.
Per altre informazioni sulla creazione di più istanze, vedere Iterazione delle risorse nei modelli di Azure Resource Manager
Distribuire il modello
Accedere ad Azure Cloud Shell
Scegliere l'ambiente preferito selezionando PowerShell o Bash (per l'interfaccia della riga di comando) nell'angolo in alto a sinistra. Quando si cambia interfaccia, è necessario riavviare la shell.
Selezionare Carica/Scarica file e quindi Carica. Vedere l'immagine sopra riportata. Selezionare il file salvato nella sezione precedente. Dopo aver caricato il file, è possibile usare i comandi
ls
ecat
per verificare che il file sia stato caricato.In Cloud Shell eseguire i comandi riportati sotto. Selezionare la scheda per visualizzare il codice di PowerShell o il codice dell'interfaccia della riga di comando.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location "$location" && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
Dopo aver completato la distribuzione del modello, è possibile visualizzare i tre account di archiviazione creati nel gruppo di risorse specificato. Confrontare i nomi degli account di archiviazione con la definizione del nome nel modello.
echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Pulire le risorse
Quando non sono più necessarie, eseguire la pulizia delle risorse di Azure distribuite eliminando il gruppo di risorse.
- Nel portale di Azure selezionare Gruppo di risorse nel menu a sinistra.
- Immettere il nome del gruppo di risorse nel campo Filtra per nome.
- Selezionare il nome del gruppo di risorse. Nel gruppo di risorse verranno visualizzate in totale tre risorse.
- Selezionare Elimina gruppo di risorse nel menu in alto.
Passaggi successivi
In questa esercitazione è stato descritto come creare più istanze dell'account di archiviazione. Nell'esercitazione successiva verrà sviluppato un modello con più risorse e più tipi di risorse. alcune con risorse dipendenti.