Ü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 sie dann, 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 die erste Zeile 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 azuredeploy.json file showing the snippet choices for Azure Resource Manager templates.

    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 of the Visual Studio Code terminal window with bash in the drop-down.

  4. Klicken Sie auf Git Bash.

    Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

  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. Ein Browser wird geöffnet, in dem Sie sich bei Ihrem Konto anmelden können. 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 angezeigt werden. 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 of the Visual Studio Code terminal window with pwsh terminal selected.

    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 of the Visual Studio Code terminal window showing the select shell drop-down.

    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. Dies ist das Abonnement, das für den Rest der Übung verwendet werden soll.

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. Dies sieht in etwa wie cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0 aus:

    Get-AzSubscription
    
  2. Führen Sie den folgenden Befehl aus, und ersetzen Sie dabei {Ihre Abonnement-ID} durch die ID, die Sie im vorherigen Schritt kopiert haben, um Ihr aktives Abonnement in das Concierge-Abonnement zu ändern.

    $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 Ressourcen erstellt werden.

$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 bereitgestellt haben, 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 portal interface for the resource group overview with the deployments section showing that one succeeded.

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

    Azure portal interface for the deployments with the one deployment listed and a succeeded status.

  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 portal interface for the specific deployment with no resources listed.

  6. Lassen Sie die Seite in Ihrem Browser geöffnet. Sie werden die Bereitstellungen erneut überprüfen.

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 verwenden Sie einen Codeschnipsel aus der Erweiterung mit Azure Resource Manager-Tools für Visual Studio Code, um der ARM-Vorlage eine Azure-Speicherkontoressource hinzuzufügen.

  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 arm-storage snippet shown under the typed word storage.

    Ihre Datei sieht wie folgt aus:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [
        {
          "name": "storageaccount1",
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2019-06-01",
          "tags": {
            "displayName": "storageaccount1"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Premium_LRS",
            "tier": "Premium"
          }
        }
      ],
      "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 of Visual Studio Code showing the IntelliSense choices for the name attribute of the storage SKU.

  5. Der Ressourcenspeicherort ist auf den Speicherort der Ressourcengruppe festgelegt, in dem die Bereitstellung erfolgt. 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 den Zweck und die Funktion der Bereitstellung besser widerspiegelt.

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 of the Azure portal interface for the deployments with the two deployments listed and succeeded statuses.

  2. Wählen Sie addstorage aus.

    Screenshot of the Azure portal interface for the specific deployment with one resource listed.

Beachten Sie, dass das Speicherkonto bereitgestellt wurde.