Tutorial: Erstellen mehrerer Ressourceninstanzen mit ARM-Vorlagen

Hier erfahren Sie, wie Sie die Azure Resource Manager-Vorlage (ARM-Vorlage) durchlaufen, um mehrere Instanzen einer Azure-Ressource zu erstellen. In diesem Tutorial ändern Sie eine Vorlage, um drei Speicherkontoinstanzen zu erstellen.

Diagramm: Azure Resource Manager beim Erstellen mehrerer Instanzen

Dieses Tutorial enthält die folgenden Aufgaben:

  • Öffnen einer Schnellstartvorlage
  • Bearbeiten der Vorlage
  • Bereitstellen der Vorlage

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Ein Lernmodul, das das Kopieren von Ressourcen behandelt, finden Sie unter Verwalten komplexer Cloudbereitstellungen mithilfe erweiterter ARM-Vorlagenfunktionen.

Voraussetzungen

Damit Sie die Anweisungen in diesem Artikel ausführen können, benötigen Sie Folgendes:

Öffnen einer Schnellstartvorlage

Azure-Schnellstartvorlagen ist ein Repository für ARM-Vorlagen. Statt eine Vorlage von Grund auf neu zu erstellen, können Sie eine Beispielvorlage verwenden und diese anpassen. Die in dieser Schnellstartanleitung verwendete Vorlage heißt Standardspeicherkonto erstellen. Die Vorlage definiert eine Azure Storage-Kontoressource.

  1. Wählen Sie in Visual Studio Code Datei>Datei öffnen aus.

  2. Fügen Sie in Dateiname die folgende URL ein:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Wählen Sie Öffnen aus, um die Datei zu öffnen.

  4. In der Vorlage ist eine Microsoft.Storage/storageAccounts-Ressource definiert. Vergleichen Sie die Vorlage mit der Vorlagenreferenz. Bevor Sie die Vorlage anpassen, sollten Sie sich zunächst grundlegend mit ihr vertraut machen.

  5. Wählen Sie Datei>Speichern unter aus, um die Datei als azuredeploy.json auf dem lokalen Computer zu speichern.

Bearbeiten der Vorlage

Die vorhandene Vorlage erstellt ein einzelnes Speicherkonto. Sie passen die Vorlage an, um drei Speicherkonten zu erstellen.

Nehmen Sie von Visual Studio Code aus die folgenden vier Änderungen vor:

Screenshot: Visual Studio Code mit Azure Resource Manager beim Erstellen mehrerer Instanzen

  1. Fügen Sie der Ressourcendefinition des Speicherkontos ein copy-Element hinzu. Im copy-Element geben Sie die Anzahl von Iterationen und eine Variable für diese Schleife an. Der count-Wert muss eine positive ganze Zahl sein und darf 800 nicht überschreiten.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. Die copyIndex()-Funktion gibt die aktuelle Iteration in der Schleife zurück. Verwenden Sie den Index als Namenspräfix. copyIndex() ist nullbasiert. Zum Versetzen des Indexwerts können Sie einen Wert in der copyIndex()-Funktion übergeben. Beispiel: copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. Löschen Sie die storageAccountName-Parameterdefinition, da sie nicht mehr verwendet wird.

  4. Löschen Sie das outputs-Element. Es wird nicht mehr benötigt.

  5. Löschen Sie das metadata-Element.

Die fertige Vorlage sieht folgendermaßen aus:

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

Speichern Sie die Änderungen.

Weitere Informationen zum Erstellen mehrerer Instanzen finden Sie unter Ressourceniteration in ARM-Vorlagen.

Bereitstellen der Vorlage

  1. Melden Sie sich bei Azure Cloud Shell an.

  2. Wählen Sie Ihre bevorzugte Umgebung aus, indem Sie links oben PowerShell oder Bash (für die CLI) auswählen. Bei einem Wechsel ist ein Neustart der Shell erforderlich.

    Azure-Portal, Cloud Shell, Datei hochladen

  3. Wählen Sie Dateien hochladen/herunterladen und dann Hochladen aus. Betrachten Sie hierzu den vorherigen Screenshot. Wählen Sie die Datei aus, die Sie im vorherigen Abschnitt gespeichert haben. Nach dem Hochladen der Datei können Sie den Befehl ls und den Befehl cat verwenden, um zu überprüfen, ob die Datei hochgeladen wurde.

  4. Führen Sie in Cloud Shell die folgenden Befehle aus. Klicken Sie auf die Registerkarte, um den PowerShell-Code oder den CLI-Code anzuzeigen.

    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"
    

Nach einer erfolgreichen Vorlagenbereitstellung können Sie die drei Speicherkonten anzeigen, die in der angegebenen Ressourcengruppe erstellt wurden. Vergleichen Sie die Speicherkontennamen mit der Namensdefinition in der Vorlage.

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

Bereinigen von Ressourcen

Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe, um die bereitgestellten Ressourcen zu bereinigen.

  1. Wählen Sie im Azure-Portal im linken Menü die Option Ressourcengruppe aus.
  2. Geben Sie den Namen der Ressourcengruppe in das Feld Nach Name filtern ein.
  3. Klicken Sie auf den Namen der Ressourcengruppe. Es werden insgesamt drei Ressourcen in der Ressourcengruppe angezeigt.
  4. Wählen Sie Ressourcengruppe löschen aus dem Menü ganz oben aus.

Nächste Schritte

In diesem Tutorial haben Sie gelernt, mehrere Instanzen von Speicherkonten zu erstellen. Im nächsten Tutorial entwickeln Sie eine Vorlage mit mehreren Ressourcen und Ressourcentypen. Einige der Ressourcen verfügen über abhängige Ressourcen.