Übung: Erstellen und Bereitstellen einer Azure Resource Manager-Vorlage
Hinweis
Wenn Sie zum ersten Mal eine Sandbox aktivieren und die Bedingungen akzeptieren, ist Ihr Microsoft-Konto einem neuen Azure-Verzeichnis mit dem Namen „Microsoft Learn Sandbox“ zugeordnet. Sie werden darüber hinaus einem speziellen Abonnement mit der Bezeichnung Concierge-Abonnement hinzugefügt.
In dieser Übung erstellen Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage), stellen sie in Azure bereit und aktualisieren dann diese ARM-Vorlage, um Parameter und Ausgaben hinzuzufügen.
In dieser Übung werden die Azure Resource Manager-Tools für Visual Studio Code verwendet. Installieren Sie diese Erweiterung in Visual Studio Code, bevor Sie mit der Übung beginnen.
Erstellen einer ARM-Vorlage
Öffnen Sie Visual Studio Code, und erstellen Sie eine neue Datei namens azuredeploy.json.
Die Visual Studio Code-Erweiterung für ARM-Vorlagen ist mit Codeausschnitten konfiguriert, die Ihnen beim Entwickeln von Vorlagen helfen. Beginnen wir damit, dass wir eine leere Vorlage hinzufügen. Geben Sie in Zeile 1 der Datei arm ein.
Visual Studio Code zeigt automatisch mehrere mögliche Optionen an, die mit arm! beginnen. Wählen Sie die ARM-Vorlage (Azure Resource Manager) aus. Visual Studio Code verarbeitet die Schemas und Sprachen für Ihre Vorlage automatisch.
Die Datei sieht nun wie folgt aus:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [], "outputs": {} }
Beachten Sie, dass diese Datei alle Abschnitte einer ARM-Vorlage enthält, die in der letzten Einheit thematisiert wurde.
Speichern Sie die Änderungen an der Datei, indem Sie Strg+S drücken.
Bereitstellen der ARM-Vorlage in Azure
Um diese Vorlage in Azure bereitzustellen, müssen Sie sich über das Visual Studio Code-Terminal bei Ihrem Azure-Konto anmelden. Stellen Sie sicher, dass die Azure CLI-Tools installiert sind und Sie sich bei demselben Konto anmelden, mit dem die Sandbox aktiviert wurde.
Klicken Sie auf Terminal > Neues Terminal, um ein Terminalfenster zu öffnen.
Wenn in der Befehlsleiste des Terminalfensters bash angezeigt wird, verfügen Sie über die richtige Shell zum Arbeiten und können mit dem nächsten Abschnitt fortfahren.
Wenn dies nicht der Fall ist, wählen Sie im Dropdownmenü Standardprofil auswählen aus.
Klicken Sie auf Git Bash.
Klicken Sie auf Terminal > Neues Terminal, um ein Bash-Shell-Terminalfenster zu öffnen.
Anmelden bei Azure
Führen Sie im Terminalfenster diesen Befehl aus, um sich bei Azure anzumelden.
az login
Melden Sie sich im Browserfenster, das daraufhin geöffnet wird, bei Ihrem Konto an. Sobald Sie angemeldet sind, wird im Terminal eine Liste der Abonnements angezeigt, die mit diesem Konto verknüpft sind. Wenn Sie die Sandbox aktiviert haben, wird ein Abonnement mit dem Namen Concierge-Abonnement angezeigt. Dieses verwenden Sie für den Rest der Übung.
Führen Sie in der Bash Shell den folgenden Befehl aus, um das Standardabonnement für alle Azure CLI-Befehle festzulegen, die Sie in dieser Sitzung ausführen.
az account set --subscription "Concierge Subscription"
Wenn Sie in letzter Zeit mehr als eine Sandbox verwendet haben, werden möglicherweise mehrere Concierge-Abonnements aufgeführt. Wenn ja, nutzen Sie die nächsten beiden Schritte, um das Standardabonnement zu identifizieren und festzulegen.
- Führen Sie den folgenden Befehl aus, um die IDs des Concierge Abonnements zu erhalten.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
- Legen Sie das Standardabonnement fest, indem Sie den folgenden Befehl ausführen und dabei {Ihre Abonnement-ID} durch die neueste Concierge Abonnement-ID ersetzen.
az account set --subscription {your subscription ID}
Festlegen der Standardressourcengruppe
Indem Sie die Standardressourcengruppe auf diejenige festlegen, die beim Aktivieren der Sandbox erstellt wurde, können Sie diesen Parameter in den Azure CLI-Befehlen in dieser Übung weglassen. Führen Sie den folgenden Befehl aus, um die Ressourcengruppe festzulegen.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Bereitstellen der Vorlage in Azure
Führen Sie die folgenden Befehle aus, um die ARM-Vorlage in Azure bereitzustellen. Die ARM-Vorlage enthält noch keine Ressourcen, weshalb auch keine erstellten Ressourcen vorhanden sind. Die Bereitstellung sollte erfolgreich sein.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Im oberen Abschnitt des vorherigen Codes legen Sie Azure CLI-Variablen fest, die den Pfad zur bereitzustellenden Vorlagendatei und den Namen dieser Bereitstellung enthalten. Der untere Bereich, az deployment group create
, stellt die Vorlage in Azure bereit. Beachten Sie, dass der Bereitstellungsname blanktemplate
lautet, mit dem Datum als Suffix.
Im Terminal sollte Running...
zu sehen sein.
Sie müssen sich über das Visual Studio Code-Terminal bei Ihrem Azure-Konto anmelden, um diese Vorlage in Azure bereitzustellen. Stellen Sie sicher, dass Azure PowerShell-Tools aus den Visual Studio Code-Erweiterungen installiert sind, und melden Sie sich bei dem Konto an, in dem die Sandbox aktiviert wurde.
Klicken Sie in der Befehlsleiste auf Terminal > Neues Terminal, um ein PowerShell-Fenster zu öffnen.
Wenn in der Befehlsleiste des Terminalfensters PowerShell angezeigt wird, verfügen Sie über die richtige Shell zum Arbeiten und können mit dem nächsten Abschnitt fortfahren.
Wenn dies nicht der Fall ist, klicken Sie auf den Pfeil nach unten, und wählen Sie in der Dropdownliste „PowerShell“ aus. Wenn diese Option fehlt, wählen Sie Standardprofil auswählen aus.
Scrollen Sie im Eingabefeld nach unten, und wählen Sie PowerShell aus.
Klicken Sie auf Terminal > Neues Terminal, um ein PowerShell-Terminalfenster zu öffnen.
Anmelden bei Azure mithilfe von Azure PowerShell
Führen Sie im Terminal in Visual Studio Code den folgenden Befehl aus, um sich bei Azure anzumelden. Ein Browser wird geöffnet, damit Sie sich bei Ihrem Konto anmelden können.
Connect-AzAccount
Tipp
Das Az PowerShell-Modul ersetzt AzureRM. Dabei handelt es sich außerdem um die empfohlene Version für die Interaktion mit Azure.
Melden Sie sich mit dem Konto an, das Sie zum Aktivieren der Sandbox verwendet haben. Nachdem Sie sich angemeldet haben, listet Visual Studio Code die Abonnements im Terminalfenster auf, die Ihrem Konto zugeordnet sind. Wenn Sie die Sandbox aktiviert haben, wird ein Codeblock angezeigt, der
"name": "Concierge Subscription"
enthält. Sie verwenden dieses Abonnement für den Rest der Übung.
Festlegen des Standardabonnements für alle PowerShell-Befehle in dieser Sitzung
Führen Sie den folgenden Befehl aus, um Ihre Abonnements und ihre IDs abzurufen. Die Abonnement-ID befindet sich in der zweiten Spalte. Suchen Sie nach Concierge-Abonnement, und kopieren Sie den Wert in der zweiten Spalte. Es sieht ungefähr wie aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e aus:
Get-AzSubscription
Führen Sie den folgenden Befehl aus, und ersetzen Sie dabei {Your subscription ID} durch die ID, die Sie in vorigem Schritt kopiert haben. Mit diesem Befehl ändern Sie Ihr aktives Abonnement in das Concierge-Abonnement.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Führen Sie den folgenden Befehl aus, damit die Standardressourcengruppe die Ressourcengruppe ist, die für Sie in der Sandboxumgebung erstellt wurde. So können Sie auf diesen Parameter bei den restlichen Azure PowerShell-Befehlen in dieser Übung verzichten.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Bereitstellen der Vorlage in Azure
Stellen Sie die Vorlage in Azure bereit, indem Sie die folgenden Befehle ausführen. Die ARM-Vorlage enthält noch keine Ressourcen, weshalb auch keine erstellten Ressourcen vorhanden sind.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Im oberen Abschnitt des vorherigen Codes werden Azure PowerShell-Variablen festgelegt, die den Pfad zur Bereitstellungsdatei und den Namen der Bereitstellung enthalten. Anschließend wird die Vorlage mit dem New-AzResourceGroupDeployment
-Befehl in Azure bereitgestellt. Beachten Sie, dass der Bereitstellungsname blanktemplate
lautet, mit dem Datum als Suffix.
Wenn Sie Ihre ARM-Vorlage in Azure bereitstellen, wechseln Sie zum Azure-Portal und stellen sicher, dass Sie sich im Sandbox-Abonnement befinden. Wählen Sie hierzu Ihren Avatar in der oberen rechten Ecke der Seite aus. Klicken Sie dann auf Verzeichnis wechseln. Wählen Sie in der Liste das Verzeichnis Microsoft Learn Sandbox aus.
Wählen Sie im Ressourcenmenü die Option Ressourcengruppen aus.
Wählen Sie die Ressourcengruppe
[Name der Sandboxressourcengruppe] aus.Im Fenster Übersicht sehen Sie, dass eine Bereitstellung erfolgreich war.
Wählen Sie 1 Succeeded (1 erfolgreich) aus, um die Details der Bereitstellung anzuzeigen.
Wählen Sie
blanktemplate
aus, damit angezeigt wird, welche Ressourcen bereitgestellt wurden. In diesem Fall bleibt die Anzeige leer, da Sie noch keine Ressourcen in der Vorlage angegeben haben.Lassen Sie die Seite im Browser geöffnet, damit Sie die Bereitstellungen erneut überprüfen können.
Hinzufügen einer Ressource zur ARM-Vorlage
In der vorherigen Aufgabe haben Sie gelernt, wie Sie eine leere Vorlage erstellen und bereitstellen. Nun sind Sie bereit, um eine tatsächliche Ressource bereitzustellen. In dieser Aufgabe fügen Sie der ARM-Vorlage eine Azure-Speicherkontoressource mit einem Codeausschnitt aus der Erweiterung für Azure Resource Manager-Tools für Visual Studio Code hinzu.
Setzen Sie in Visual Studio Code in der Datei azuredeploy.json Ihren Cursor in die eckigen Klammern im Ressourcenblock
"resources":[],
.Geben Sie storage in den Klammern ein. Es wird eine Liste verwandter Codeausschnitte angezeigt. Wählen Sie arm-storage aus.
Ihre Datei sieht folgendermaßen aus:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-05-01", "name": "storageaccount1", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS" } } ], "outputs": {} }
Zu bearbeitende Werte sind im neuen Abschnitt Ihrer Datei hervorgehoben. Sie können darin mithilfe der TABULATOR-Taste navigieren.
Beachten Sie, dass die Attribute
tags
undlocation
ausgefüllt sind. Daslocation
-Attribut verwendet eine Funktion, um den Speicherort der Ressource auf den Speicherort der Ressourcengruppe festzulegen. Im nächsten Modul erfahren Sie mehr zu Tags und Funktionen.Ändern Sie die Werte des name der Ressource und den displayName in eindeutige Werte, zum Beispiel learnexercise12321. Dieser Name muss in ganz Azure eindeutig sein, wählen Sie also etwas für Sie eindeutiges aus.
Ändern Sie den Wert von name für die SKU von Premium_LRS in Standard_LRS. Ändern Sie den Wert von tier (Tarif) in Standard. Beachten Sie, dass Visual Studio Code Ihnen die richtigen Optionen für Ihre Attributwerte in IntelliSense anbietet. Löschen Sie den Standardwert einschließlich der Anführungszeichen, und geben Sie Anführungszeichen ein, um zu sehen, dass dies funktioniert.
Der Speicherort der Ressource ist auf den gleichen Speicherort festgelegt, der auch für die Ressourcengruppe verwendet wird und an dem die Ressource bereitgestellt wird. Behalten Sie hier den Standardwert bei.
Speichern Sie die Datei.
Bereitstellen der aktualisierte ARM-Vorlage
Hier ändern Sie den Namen der Bereitstellung so, dass er die Funktion der Bereitstellung besser wiedergibt.
Führen Sie die folgenden Azure CLI-Befehle im Terminal aus. Bei dem Ausschnitt handelt es sich um denselben Code, den Sie zuvor verwendet haben, wobei jedoch der Name der Bereitstellung geändert wurde.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Führen Sie die folgenden Azure PowerShell-Befehle im Terminal aus. Bei dem Ausschnitt handelt es sich um denselben Code, den Sie zuvor verwendet haben, wobei jedoch der Name der Bereitstellung geändert wurde.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Überprüfen Ihrer Bereitstellung
Wenn die Bereitstellung abgeschlossen ist, kehren Sie zum Azure-Portal in Ihrem Browser zurück. Wechseln Sie zu Ihrer Ressourcengruppe, wo jetzt 2 Succeeded (2 erfolgreiche) Bereitstellungen angezeigt werden. Wählen Sie diese Verknüpfung aus.
Beachten Sie, dass sich beide Bereitstellungen in der Liste befinden.
Wählen Sie addstorage aus.
Beachten Sie, dass das Speicherkonto bereitgestellt wurde.