Auf Englisch lesen

Freigeben über


Tutorial: Erstellen von ARM-Vorlagen mit abhängigen Ressourcen

Hier erfahren Sie, wie Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage) erstellen, um mehrere Ressourcen bereitzustellen und die Bereitstellungsreihenfolge zu konfigurieren. Nach der Erstellung der Vorlage stellen Sie diese mithilfe der Azure Cloud Shell über das Azure-Portal bereit.

In diesem Tutorial erstellen Sie ein Speicherkonto, eine VM, ein virtuelles Netzwerk und einige andere abhängigen Ressourcen. Einige der Ressourcen können erst bereitgestellt werden, wenn eine andere Ressource vorhanden ist. Sie können den virtuellen Computer beispielsweise erst erstellen, wenn sein Speicherkonto und seine Netzwerkschnittstelle vorhanden sind. Diese Beziehung definieren Sie, indem Sie eine Ressource von den anderen Ressourcen abhängig machen. Resource Manager wertet die Abhängigkeiten zwischen den Ressourcen aus und stellt sie in der Reihenfolge ihrer Abhängigkeiten bereit. Wenn Ressourcen nicht voneinander abhängig sind, stellt Resource Manager sie parallel bereit. Weitere Informationen finden Sie unter Definieren der Reihenfolge für die Bereitstellung von Ressourcen in ARM-Vorlagen.

Diagramm: Bereitstellungsreihenfolge der abhängigen Ressource in einer Resource Manager-Vorlage

Dieses Tutorial enthält die folgenden Aufgaben:

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

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

Ein Lernmodul, das Ressourcenabhängigkeiten abdeckt, 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 diesem Tutorial verwendete Vorlage heißt Deploy a simple Windows VM (Bereitstellen eines einfachen virtuellen Windows-Computers).

  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.compute/vm-simple-windows/azuredeploy.json
    
  3. Wählen Sie Öffnen aus, um die Datei zu öffnen.

  4. Wählen Sie Datei>Speichern unter aus, um eine Kopie der Datei als azuredeploy.json auf dem lokalen Computer zu speichern.

Untersuchen der Vorlage

Sehen Sie sich die Vorlage in diesem Abschnitt an, und versuchen Sie, die folgenden Fragen zu beantworten:

  • Wie viele Azure-Ressourcen sind in dieser Vorlage definiert?
  • Bei einer der Ressourcen handelt es sich um ein Azure-Speicherkonto. Sieht die Definition wie die Definition im letzten Tutorial aus?
  • Finden Sie die Vorlagenreferenzen für die in dieser Vorlage definierten Ressourcen?
  • Finden Sie die Abhängigkeiten der Ressourcen?
  1. Reduzieren Sie in Visual Studio Code die Elemente, bis unter resources nur die Elemente der ersten und zweiten Ebene angezeigt werden:

    Screenshot: Visual Studio Code zum Anzeigen einer ARM-Vorlage mit reduzierten Elementen

    Es gibt sechs Ressourcen, die von der Vorlage definiert werden:

  2. Erweitern Sie die erste Ressource. Es handelt sich um ein Speicherkonto. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.

    Screenshot: Visual Studio Code mit der Speicherkontodefinition in einer ARM-Vorlage

  3. Erweitern Sie die zweite Ressource. Der Ressourcentyp lautet Microsoft.Network/publicIPAddresses. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.

    Screenshot: Visual Studio Code mit der Definition der öffentlichen IP-Adresse in einer ARM-Vorlage

  4. Erweitern Sie die dritte Ressource. Der Ressourcentyp lautet Microsoft.Network/networkSecurityGroups. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.

    Screenshot: Visual Studio Code mit der Definition der Netzwerksicherheitsgruppe in einer ARM-Vorlage

  5. Erweitern Sie die vierte Ressource. Der Ressourcentyp lautet Microsoft.Network/virtualNetworks:

    Screenshot: Visual Studio Code mit der Definition des virtuellen Netzwerks und des dependsOn-Elements in einer ARM-Vorlage

    Das dependsOn-Element bietet die Möglichkeit, eine Ressource als von mindestens einer Ressource abhängig zu definieren. Diese Ressource hängt von einer weiteren Ressource ab:

    • Microsoft.Network/networkSecurityGroups
  6. Erweitern Sie die fünfte Ressource. Der Ressourcentyp lautet Microsoft.Network/networkInterfaces. Die Ressource hängt von zwei weiteren Ressourcen ab:

    • Microsoft.Network/publicIPAddresses
    • Microsoft.Network/virtualNetworks
  7. Erweitern Sie die sechste Ressource. Diese Ressource ist ein virtueller Computer. Sie hängt von zwei weiteren Ressourcen ab:

    • Microsoft.Storage/storageAccounts
    • Microsoft.Network/networkInterfaces

Das folgende Diagramm veranschaulicht die Ressourcen und die Abhängigkeitsinformationen für diese Vorlage:

Diagramm: Abhängigkeitsbeziehungen zwischen Ressourcen in einer ARM-Vorlage, die in Visual Studio Code angezeigt werden

Durch die Angabe der Abhängigkeiten wird die Lösung von Resource Manager effizient bereitgestellt. Mit Resource Manager werden das Speicherkonto, die öffentliche IP-Adresse und das virtuelle Netzwerk parallel bereitgestellt, da sie über keine Abhängigkeiten verfügen. Nach der Bereitstellung der öffentlichen IP-Adresse und des virtuellen Netzwerks wird die Netzwerkschnittstelle erstellt. Wenn alle anderen Ressourcen bereitgestellt wurden, stellt Resource Manager den virtuellen Computer bereit.

Bereitstellen der Vorlage

  1. Melden Sie sich bei 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.

    Screenshot: Cloud Shell im Azure-Portal mit der hervorgehobenen Option zum Hochladen von Dateien

  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 zuvor 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 das folgende PowerShell-Skript aus, um die Vorlage bereitzustellen.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    echo "Enter the virtual machine admin username:" &&
    read adminUsername &&
    echo "Enter the DNS label prefix:" &&
    read dnsLabelPrefix &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location $location &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
    
  5. Stellen Sie per RDP eine Verbindung mit dem virtuellen Computer her, um sich zu vergewissern, dass der virtuelle Computer erstellt wurde.

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 sechs 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 eine Vorlage entwickelt und bereitgestellt, um einen virtuellen Computer, ein virtuelles Netzwerk und die abhängigen Ressourcen zu erstellen. Informationen zur Verwendung von Bereitstellungsskripts zum Ausführen von Vorgängen vor bzw. nach der Bereitstellung finden Sie in dem folgenden Artikel: