Übung: Erstellen und Bereitstellen einer Azure Resource Manager-Vorlage

Abgeschlossen

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

  1. Öffnen Sie Visual Studio Code, und erstellen Sie eine neue Datei namens azuredeploy.json.

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

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

    Visual Studio Code-Datei „azuredeploy.json“ mit den Codeausschnitt-Auswahlmöglichkeiten für Azure Resource Manager-Vorlagen.

    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.

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

  1. Klicken Sie auf Terminal > Neues Terminal, um ein Terminalfenster zu öffnen.

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

  3. Wenn dies nicht der Fall ist, wählen Sie im Dropdownmenü Standardprofil auswählen aus.

    Screenshot: Visual Studio Code-Terminalfenster mit „bash“ im Dropdownmenü

  4. Klicken Sie auf Git Bash.

    Screenshot: Visual Studio Code-Terminalfenster mit dem Dropdownmenü für die Auswahl der Shell

  5. Klicken Sie auf Terminal > Neues Terminal, um ein Bash-Shell-Terminalfenster zu öffnen.

Anmelden bei Azure

  1. Führen Sie im Terminalfenster diesen Befehl aus, um sich bei Azure anzumelden.

    az login
    
  2. 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.

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

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

  1. Klicken Sie in der Befehlsleiste auf Terminal > Neues Terminal, um ein PowerShell-Fenster zu öffnen.

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

    Screenshot: Visual Studio Code-Terminalfenster mit „pwsh“ als ausgewähltem Terminal

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

    2. Scrollen Sie im Eingabefeld nach unten, und wählen Sie PowerShell aus.

      Screenshot: Visual Studio Code-Terminalfenster mit dem Dropdownmenü für die Auswahl der Shell

    3. Klicken Sie auf Terminal > Neues Terminal, um ein PowerShell-Terminalfenster zu öffnen.

Anmelden bei Azure mithilfe von Azure PowerShell

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

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

  1. 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
    
  2. 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
    
  3. 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.

  1. Wählen Sie im Ressourcenmenü die Option Ressourcengruppen aus.

  2. Wählen Sie die Ressourcengruppe [Name der Sandboxressourcengruppe] aus.

  3. Im Fenster Übersicht sehen Sie, dass eine Bereitstellung erfolgreich war.

    Azure-Portalschnittstelle für die Ressourcengruppenübersicht, in der im Abschnitt „Bereitstellungen“ angezeigt wird, dass eine Bereitstellung erfolgreich war.

  4. Wählen Sie 1 Succeeded (1 erfolgreich) aus, um die Details der Bereitstellung anzuzeigen.

    Azure-Portalschnittstelle für die Bereitstellungen mit einer aufgelisteten Bereitstellung und dem Status „Erfolgreich“.

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

    Azure-Portalschnittstelle für die spezifische Bereitstellung ohne aufgelistete Ressourcen.

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

  1. Setzen Sie in Visual Studio Code in der Datei azuredeploy.json Ihren Cursor in die eckigen Klammern im Ressourcenblock "resources":[],.

  2. Geben Sie storage in den Klammern ein. Es wird eine Liste verwandter Codeausschnitte angezeigt. Wählen Sie arm-storage aus.

    Visual Studio Code-Codeausschnitt „azure Resource Manager-storage“ unterhalb des eingegebenen Worts „storage“

    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 und location ausgefüllt sind. Das location-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.

  3. Ä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.

  4. Ä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.

    Screenshot: Visual Studio Code mit den IntelliSense-Optionen für das Attribut „name“ der Speicher-SKU

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

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

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

    Screenshot: Benutzeroberfläche im Azure-Portal für die Bereitstellungen, wobei zwei Bereitstellungen mit dem Status „Erfolgreich“ aufgelistet werden

  2. Wählen Sie addstorage aus.

    Screenshot: Benutzeroberfläche im Azure-Portal für die spezifische Bereitstellung mit einer aufgelisteten Ressource

Beachten Sie, dass das Speicherkonto bereitgestellt wurde.