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.

Diagramma che mostra Azure Resource Manager la creazione di più istanze.

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:

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.

  1. In Visual Studio Code selezionare File>Apri file.

  2. In Nome file incollare l'URL seguente:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Selezionare Apri per aprire il file.

  4. 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.

  5. 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:

Screenshot di Visual Studio Code con Azure Resource Manager la creazione di più istanze.

  1. Aggiungere un elemento copy alla definizione di risorsa dell'account di archiviazione. Nell'elemento copy 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
    },
    
  2. 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 funzione copyIndex(). Ad esempio: copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. Eliminare la definizione del storageAccountName parametro perché non viene più usata.

  4. Eliminare l'elemento outputs. Non è più necessario.

  5. 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

  1. Accedere ad Azure Cloud Shell

  2. 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.

    Caricare file in Cloud Shell nel portale di Azure

  3. 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 e cat per verificare che il file sia stato caricato.

  4. 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.

  1. Nel portale di Azure selezionare Gruppo di risorse nel menu a sinistra.
  2. Immettere il nome del gruppo di risorse nel campo Filtra per nome.
  3. Selezionare il nome del gruppo di risorse. Nel gruppo di risorse verranno visualizzate in totale tre risorse.
  4. 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.