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.
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.
Damit Sie die Anweisungen in diesem Artikel ausführen können, benötigen Sie Folgendes:
Visual Studio Code mit der Erweiterung „Azure Resource Manager-Tools“. Weitere Informationen finden Sie unter Schnellstart: Erstellen von ARM-Vorlagen mit Visual Studio Code.
Verwenden Sie aus Sicherheitsgründen ein generiertes Kennwort für das Administratorkonto des virtuellen Computers. Sie können die Azure Cloud Shell verwenden, um den folgenden Befehl in PowerShell oder der Bash auszuführen:
openssl rand -base64 32
Um mehr zu erfahren, führen Sie
man openssl rand
aus, um die Handbuchseite zu öffnen.Azure Key Vault dient zum Schützen von kryptografischen Schlüsseln und anderen Geheimnissen. Weitere Informationen finden Sie im Tutorial: Integrieren von Azure Key Vault in Ihre Bereitstellung einer ARM-Vorlage. Wir empfehlen Ihnen auch, Ihr Kennwort alle drei Monate zu aktualisieren.
„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).
Wählen Sie in Visual Studio Code Datei>Datei öffnen aus.
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
Wählen Sie Öffnen aus, um die Datei zu öffnen.
Wählen Sie Datei>Speichern unter aus, um eine Kopie der Datei als azuredeploy.json auf dem lokalen Computer zu speichern.
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?
Reduzieren Sie in Visual Studio Code die Elemente, bis unter
resources
nur die Elemente der ersten und zweiten Ebene angezeigt werden:Es gibt sechs Ressourcen, die von der Vorlage definiert werden:
Microsoft.Compute/virtualMachines.
Es empfiehlt sich, vor dem Anpassen einer Vorlage die Referenz zu dieser Vorlage zu lesen.
Erweitern Sie die erste Ressource. Es handelt sich um ein Speicherkonto. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.
Erweitern Sie die zweite Ressource. Der Ressourcentyp lautet
Microsoft.Network/publicIPAddresses
. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.Erweitern Sie die dritte Ressource. Der Ressourcentyp lautet
Microsoft.Network/networkSecurityGroups
. Vergleichen Sie die Ressourcendefinition mit der Vorlagenreferenz.Erweitern Sie die vierte Ressource. Der Ressourcentyp lautet
Microsoft.Network/virtualNetworks
: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
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
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:
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.
Melden Sie sich bei Cloud Shell an.
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.
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 Befehlcat
verwenden, um zu überprüfen, ob die Datei hochgeladen wurde.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
Stellen Sie per RDP eine Verbindung mit dem virtuellen Computer her, um sich zu vergewissern, dass der virtuelle Computer erstellt wurde.
Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe, um die bereitgestellten Ressourcen zu bereinigen.
- Wählen Sie im Azure-Portal im linken Menü die Option Ressourcengruppe aus.
- Geben Sie den Namen der Ressourcengruppe in das Feld Nach Name filtern ein.
- Klicken Sie auf den Namen der Ressourcengruppe. Es werden insgesamt sechs Ressourcen in der Ressourcengruppe angezeigt.
- Wählen Sie Ressourcengruppe löschen aus dem Menü ganz oben aus.
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: