Zelfstudie: Meerdere resource-instanties maken met ARM-sjablonen

Leer hoe u een ARM-sjabloon (Azure Resource Manager) herhaaldelijk gebruikt om meerdere instanties van een Azure-resource te maken. In deze zelfstudie wijzigt u een sjabloon om drie instanties van het opslagaccount te maken.

Diagram met Azure Resource Manager het maken van meerdere exemplaren.

Deze zelfstudie bestaat uit de volgende taken:

  • Een snelstartsjabloon openen
  • De sjabloon bewerken
  • De sjabloon implementeren

Als u geen abonnement op Azure hebt, maakt u een gratis account voordat u begint.

Zie Complexe cloudimplementaties beheren met behulp van geavanceerde ARM-sjabloonfuncties voor een Learn-module die het kopiëren van resources behandelt.

Vereisten

Als u dit artikel wilt voltooien, hebt u het volgende nodig:

Een snelstartsjabloon openen

Azure-quickstart-sjablonen is een opslagplaats voor ARM-sjablonen. In plaats van een sjabloon helemaal vanaf de basis te maken, kunt u een voorbeeldsjabloon zoeken en aanpassen. De in deze snelstart gebruikte sjabloon wordt Create a standard storage account (Standaardopslagaccount maken) genoemd. De sjabloon definieert een Azure Storage-accountresource.

  1. Selecteer in Visual Studio Code Bestand>Bestand openen.

  2. Plak de volgende URL in Bestandsnaam:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Selecteer Openen om het bestand te openen.

  4. Er is een Microsoft.Storage/storageAccounts resource gedefinieerd in de sjabloon. Vergelijk de sjabloon met de sjabloonverwijzing. Het is handig om enige basiskennis te hebben van de sjabloon voordat u deze gaat aanpassen.

  5. Selecteer Bestand>Opslaan als om het bestand op uw lokale computer op te slaan als azuredeploy.json.

De sjabloon bewerken

Met de bestaande sjabloon wordt één opslagaccount gemaakt. U past de sjabloon aan om drie opslagaccounts te maken.

Breng vanuit Visual Studio Code de volgende vier wijzigingen aan:

Schermopname van Visual Studio Code met Azure Resource Manager het maken van meerdere exemplaren.

  1. Voeg een copy-element toe aan de resourcedefinitie van het opslagaccount. In het copy-element geeft u het aantal iteraties en een variabele voor deze lus op. Het aantal iteraties moet een positief geheel getal zijn en mag niet hoger zijn dan 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. De functie copyIndex() retourneert de huidige iteratie in de lus. U gebruikt de index als het voorvoegsel van de naam. copyIndex() is gebaseerd op nul. Als u de indexwaarde wilt verschuiven, kunt u een waarde doorgeven in de functie copyIndex(). Bijvoorbeeld copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. Verwijder de storageAccountName parameterdefinitie, omdat deze niet meer wordt gebruikt.

  4. Verwijder het element outputs. Dit wordt niet meer gebruikt.

  5. Verwijder het element metadata.

De voltooide sjabloon ziet er als volgt uit:

{
  "$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": {}
    }
  ]
}

Sla de wijzigingen op.

Raadpleeg Resourceherhaling in ARM-sjablonen voor meer informatie over het maken van meerdere exemplaren

De sjabloon implementeren

  1. Meld u aan bij Azure Cloud Shell

  2. Kies uw favoriete omgeving door in de linkerbovenhoek PowerShell of Bash (voor CLI) te selecteren. U moet de shell opnieuw starten wanneer u overschakelt.

    Bestand uploaden in Cloud Shell in de Azure-portal

  3. Selecteer Upload/download files en selecteer Uploaden. Zie de vorige schermafbeelding. Selecteer het bestand dat u in de vorige sectie hebt opgeslagen. Nadat het bestand is geüpload, kunt u de opdracht ls en de opdracht cat gebruiken om te controleren of het bestand is geüpload.

  4. Voer vanuit Cloud Shell de volgende opdrachten uit. Selecteer het tabblad om de PowerShell-code of de CLI-code weer te geven.

    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"
    

Na een geslaagde sjabloonimplementatie kunt u de drie opslagaccounts weergeven die in de opgegeven resourcegroep zijn gemaakt. Vergelijk de namen van de opslagaccounts met de naamdefinitie in de sjabloon.

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

Resources opschonen

Schoon de geïmplementeerd Azure-resources, wanneer u deze niet meer nodig hebt, op door de resourcegroep te verwijderen.

  1. Selecteer Resourcegroep in het linkermenu van Azure Portal.
  2. Voer de naam van de resourcegroep in het veld Filter by name in.
  3. Selecteer de naam van de resourcegroep. U ziet in totaal drie resources in de resourcegroep.
  4. Selecteer Resourcegroep verwijderen in het bovenste menu.

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u meerdere instanties van opslagaccounts maakt. In de volgende zelfstudie ontwikkelt u een sjabloon met meerdere resources en meerdere resourcetypen. Sommige resources hebben afhankelijke resources.