Übung: Definieren von Ressourcen in einer Bicep-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.

Für Ihre Website zur Markteinführung von Spielzeugen beschließen Sie, zunächst einen Proof of Concept zu erstellen, indem Sie eine einfache Bicep-Vorlage erstellen. In dieser Übung erstellen Sie ein Speicherkonto, einen Azure App Service-Plan und eine App. Später ändern Sie die Vorlage, um sie besser wiederverwendbar zu machen.

In dem Prozess gehen Sie wie folgt vor:

  • Sie erstellen eine Vorlage, die eine einzelne Speicherkontoressource mit hartcodierten Werten definiert.
  • Sie stellen Ihre Infrastruktur bereit und überprüfen das Ergebnis.
  • Sie fügen der Vorlage einen App Service-Plan und eine App hinzu.
  • Sie stellen die Infrastruktur erneut bereit, um die neuen Ressourcen anzuzeigen.

In dieser Übung wird die Bicep-Erweiterung für Visual Studio Code verwendet. Sie müssen diese Erweiterung in Visual Studio Code installieren.

Erstellen einer Bicep-Vorlage mit einem Speicherkonto

  1. Öffnen Sie Visual Studio Code.

  2. Erstellen Sie eine neue Datei namens main.bicep.

  3. Speichern Sie die leere Datei, damit Visual Studio Code die Bicep-Tools lädt.

    Sie können entweder Datei>Speichern unter oder STRG+S unter Windows (⌘+S unter macOS) auswählen. Merken Sie sich unbedingt den Speicherort der Datei. Sie könnten beispielsweise einen Ordner templates erstellen, in dem die Datei gespeichert werden soll.

  4. Fügen Sie den folgenden Bicep-Code in die Datei ein. Sie werden die Vorlage in Kürze bereitstellen. Es empfiehlt sich, den Code selbst einzugeben, anstatt ihn zu kopieren und einzufügen, damit Sie sehen können, wie die Tools Ihnen beim Schreiben Ihrer Bicep-Dateien helfen.

    resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
      name: 'toylaunchstorage'
      location: 'eastus'
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

    Tipp

    Bicep ist sehr streng, was die Platzierung von Zeilenumbrüchen angeht. Stellen Sie daher sicher, keine Zeilenumbrüche an anderen Stellen als den hier aufgeführten einzufügen.

    Beachten Sie, dass Visual Studio Code beim Eingeben automatisch Eigenschaftennamen vorschlägt. Die Bicep-Erweiterung für Visual Studio Code versteht die Ressourcen, die Sie in Ihrer Vorlage definieren, und listet die möglichen verfügbaren Eigenschaften und Werte auf.

  5. Ändern Sie den Namen des Speicherkontos von toylaunchstorage in einen eindeutigen Namen, da jedes Speicherkonto einen global eindeutigen Namen benötigt. Stellen Sie sicher, dass der Name nur Kleinbuchstaben und Ziffern enthält sowie aus 3 bis 24 Zeichen besteht.

    Wichtig

    Überspringen Sie diesen Schritt nicht. Andernfalls wird die Bicep-Datei nicht erfolgreich bereitgestellt.

  6. Speichern Sie die Änderungen in der Datei.

Bereitstellen der Bicep-Vorlage in Azure

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 die Azure CLI installiert ist, und melden Sie sich mit dem Konto an, mit dem Sie die Sandbox aktiviert haben.

  1. Wählen Sie im Menü Terminal die Option New Terminal (Neues Terminal) aus. Das Terminalfenster wird in der Regel in der unteren Hälfte des Bildschirms geöffnet.

  2. Wenn die auf der rechten Seite des Terminalfensters angezeigte Shell bash ist, ist die richtige Shell geöffnet, und Sie können mit dem nächsten Abschnitt fortfahren.

    Screenshot des Visual Studio Code-Terminalfensters mit Option „bash“

  3. Wenn eine andere Shell als bash angezeigt wird, wählen Sie die Shell-Dropdownliste und dann Azure Cloud Shell (Bash) aus.

    Screenshot des Visual Studio Code-Terminalfensters mit dem Dropdownmenü für die Terminalshell und Auswahl von „Git Bash (Standard)“

  4. Wählen Sie in der Liste der Terminalshells bash aus.

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

  5. Wechseln Sie im Terminal zu dem Verzeichnis, in dem Sie Ihre Vorlage gespeichert haben. Wenn Sie Ihre Vorlage beispielsweise im Ordner templates gespeichert haben, können Sie den folgenden Befehl verwenden:

    cd templates
    

Installieren von Bicep

Vergewissern Sie sich mit dem folgenden Befehl, dass Sie die aktuelle Version von Bicep verwenden:

az bicep install && az bicep upgrade

Anmelden bei Azure

  1. Melden Sie sich im Visual Studio Code-Terminal bei Azure an, indem Sie den folgenden Befehl ausführen:

    az login
    
  2. Melden Sie sich im Browserfenster, das daraufhin geöffnet wird, in Ihrem Azure-Konto an.

    Im Visual Studio Code-Terminal wird eine Liste der Abonnements angezeigt, die diesem Konto zugeordnet sind.

  3. Legen Sie das Standardabonnement für alle Azure CLI-Befehle fest, die Sie in dieser Sitzung ausführen.

    az account set --subscription "Concierge Subscription"
    

    Hinweis

    Wenn Sie in letzter Zeit mehrere Sandboxes verwendet haben, zeigt das Terminal möglicherweise mehrere Instanzen des Concierge-Abonnements an. Verwenden Sie in diesem Fall die nächsten beiden Schritte, um das Standardabonnement festzulegen. Wenn der vorherige Befehl erfolgreich war und nur ein Concierge-Abonnement aufgeführt wird, überspringen Sie die beiden folgenden Schritte.

  4. Rufen Sie die Concierge-Abonnement-IDs ab.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Legen Sie das Standardabonnement mit der Abonnement-ID fest. Ersetzen Sie dabei {your subscription ID} (Ihre Abonnement-ID) durch die aktuellste Concierge Subscription-ID.

    az account set --subscription {your subscription ID}
    

Festlegen der Standardressourcengruppe

Wenn Sie die Azure CLI verwenden, können Sie die Standardressourcengruppe festlegen und den Parameter in den restlichen Azure CLI-Befehlen in dieser Übung weglassen. Legen Sie den Standardwert auf die Ressourcengruppe fest, die in der Sandboxumgebung für Sie erstellt wurde.

az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"

Bereitstellen der Vorlage in Azure

Führen Sie den folgenden Befehl im Terminal in Visual Studio Code aus, um die Bicep-Vorlage in Azure bereitzustellen. Die Ausführung des Befehls kann ein oder zwei Minuten dauern, und dann wird eine erfolgreiche Bereitstellung angezeigt. Wenn eine Warnung angezeigt wird, dass der Speicherort hartcodiert ist, können Sie diese ignorieren. Den Speicherort korrigieren Sie später im Modul. Es ist sicher, fortzufahren. Die Bereitstellung wird gelingen.

az deployment group create --template-file main.bicep

Im Terminal wird Running... angezeigt.

Melden Sie sich über das Visual Studio Code-Terminal bei Ihrem Azure-Konto an, um diese Vorlage in Azure bereitzustellen. Stellen Sie sicher, dass Azure PowerShell installiert ist, und melden Sie sich unter demselben Konto an, mit dem die Sandbox aktiviert wurde.

  1. Wählen Sie im Menü Terminal die Option New Terminal (Neues Terminal) aus. Das Terminalfenster wird in der Regel in der unteren Hälfte des Bildschirms geöffnet.

  2. Wenn die auf der rechten Seite des Terminalfensters angezeigte Shell powershell oder pwsh ist, ist die richtige Shell geöffnet, und Sie können mit dem nächsten Abschnitt fortfahren.

    Screenshot des Terminalfensters von Visual Studio Code mit der Option „pwsh“ in der Shell-Dropdown-Liste.

  3. Wenn eine andere Shell als powershell oder pwsh angezeigt wird, wählen Sie die Shell-Dropdownliste und dann PowerShell aus.

    Screenshot des Terminalfensters von Visual Studio Code mit der Dropdown-Liste der Terminal-Shell und der Auswahl von PowerShell.

  4. Wählen Sie in der Liste der Terminalshells powershell oder pwsh aus.

    Screenshot des Visual Studio Code-Terminalfensters mit „PowerShell“ als ausgewähltem Terminal.

  5. Wechseln Sie im Terminal zu dem Verzeichnis, in dem Sie Ihre Vorlage gespeichert haben. Wenn Sie Ihre Vorlage beispielsweise im Ordner templates gespeichert haben, können Sie den folgenden Befehl verwenden:

    Set-Location -Path templates
    

Installieren der Bicep CLI

Installieren Sie die Bicep-CLI, um Bicep über Azure PowerShell zu verwenden.

Anmelden bei Azure mithilfe von Azure PowerShell

  1. Führen Sie im Visual Studio Code-Terminal den folgenden Befehl aus:

    Connect-AzAccount
    

    Ein Browser wird geöffnet, in dem Sie sich bei Ihrem Azure-Konto anmelden können.

  2. Sobald Sie sich in Azure angemeldet haben, wird im Terminal eine Liste der Abonnements angezeigt, die mit diesem Konto verknüpft sind.

    Wenn Sie die Sandbox aktiviert haben, wird ein Abonnement namens Concierge-Abonnement angezeigt. Verwenden Sie dieses Abonnement für die verbleibenden Schritte der Übung.

  3. Legen Sie das Standardabonnement für alle Azure PowerShell-Befehle fest, die Sie in dieser Sitzung ausführen.

    $context = Get-AzSubscription -SubscriptionName 'Concierge Subscription'
    Set-AzContext $context
    

    Hinweis

    Wenn Sie in letzter Zeit mehrere Sandboxes verwendet haben, zeigt das Terminal möglicherweise mehrere Instanzen des Concierge-Abonnements an. Verwenden Sie in diesem Fall die nächsten beiden Schritte, um das Standardabonnement festzulegen. Wenn der vorherige Befehl erfolgreich war und nur ein Concierge-Abonnement aufgeführt wird, überspringen Sie die beiden folgenden Schritte.

  4. Rufen Sie die Abonnement-ID ab. Mit dem folgenden Befehl werden Ihre Abonnements und deren IDs aufgelistet. Suchen Sie nach Concierge Subscription, und kopieren Sie dann die ID aus der zweiten Spalte. Der Wert sollte etwa wie folgt aussehen: cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  5. Ändern Sie Ihr aktives Abonnement in Concierge-Abonnement. Ersetzen Sie {Your subscription ID} durch die gerade kopierte ID.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    

Festlegen der Standardressourcengruppe

Sie können die Standardressourcengruppe festlegen und den Parameter in den restlichen Azure PowerShell-Befehlen in dieser Übung weglassen. Legen Sie diesen Standardwert auf die Ressourcengruppe fest, die in der Sandboxumgebung für Sie erstellt wurde.

Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>

Bereitstellen der Vorlage in Azure

Stellen Sie die Vorlage mithilfe des folgenden Azure PowerShell-Befehls im Terminal in Azure bereit. Die Ausführung des Befehls kann ein oder zwei Minuten dauern, woraufhin eine erfolgreiche Bereitstellung angezeigt wird. Wenn eine Warnung angezeigt wird, dass der Speicherort hartcodiert ist, können Sie diese ignorieren. Den Speicherort korrigieren Sie später im Modul. Es ist sicher, fortzufahren. Die Bereitstellung wird gelingen.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Überprüfen der Bereitstellung

Wenn Sie zum ersten Mal eine Bicep-Vorlage bereitstellen, sollten Sie im Azure-Portal überprüfen, ob die Bereitstellung erfolgreich abgeschlossen wurde, und die Ergebnisse anzeigen.

  1. Navigieren Sie zum Azure-Portal, und stellen Sie sicher, dass Sie sich im Sandboxabonnement befinden:

    1. Wählen Sie dazu Ihren Avatar in der rechten oberen Ecke der Seite aus.
    2. Klicken Sie dann auf Verzeichnis wechseln. Wählen Sie in der Liste das Verzeichnis Microsoft Learn Sandbox aus.
  2. Wählen Sie im linken Bereich Ressourcengruppen aus.

  3. Wählen Sie [Name der Sandboxressourcengruppe] aus.

  4. In der Übersicht wird angezeigt, dass eine Bereitstellung erfolgreich war. Möglicherweise müssen Sie den Bereich Essentials erweitern, um die Bereitstellung zu sehen.

    Screenshot des Azure-Portals mit der Übersicht über Ihre Ressourcengruppe. Im Abschnitt „Bereitstellungen“ wird angezeigt, dass eine Bereitstellung erfolgreich war.

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

    Screenshot des Azure-Portals für Bereitstellungen mit einer Bereitstellung mit dem Status „Erfolgreich“

  6. Wählen Sie die Bereitstellung mit dem Namen main aus, um zu sehen, welche Ressourcen bereitgestellt wurden. Wählen Sie dann Bereitstellungsdetails aus, um sie zu erweitern. In diesem Fall gibt es ein Speicherkonto mit dem von Ihnen angegebenen Namen.

    Screenshot des Azure-Portals für die Bereitstellung mit einer Speicherkontoressource

  7. Lassen Sie die Seite in Ihrem Browser geöffnet. Sie werden die Bereitstellungen später erneut überprüfen.

Sie können die Bereitstellung auch an der Befehlszeile überprüfen. Führen Sie dazu den folgenden Azure CLI-Befehl aus:

az deployment group list --output table

Sie können die Bereitstellung auch an der Befehlszeile überprüfen. Führen Sie dazu den folgenden Azure PowerShell-Befehl aus:

Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table

Hinzufügen eines App Service-Plans und einer App zu Ihrer Bicep-Vorlage

In der letzten Aufgabe haben Sie gelernt, wie Sie eine Vorlage mit einer einzelnen Ressource erstellen und bereitstellen. Nun können Sie weitere Ressourcen bereitstellen, einschließlich einer Abhängigkeit. In dieser Aufgabe werden Sie der Bicep-Vorlage einen App Service-Plan und eine App hinzufügen.

  1. Fügen Sie in Visual Studio Code am Ende der Datei main.bicep den folgenden Code hinzu:

    resource appServicePlan 'Microsoft.Web/serverFarms@2022-03-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'eastus'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = {
      name: 'toy-product-launch-1'
      location: 'eastus'
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  2. Ändern Sie den Namen der App Service-App von toy-product-launch-1 in einen eindeutigeren Namen. Stellen Sie sicher, dass der Name 2 bis 60 Zeichen mit Groß- und Kleinbuchstaben, Ziffern und Bindestrichen umfasst und nicht mit einem Bindestrich beginnt oder endet.

  3. Speichern Sie die Änderungen in der Datei.

Bereitstellen der aktualisierten Bicep-Vorlage

Führen Sie den folgenden Azure CLI-Befehl im Terminal aus. Sie können die Warnungen zum hartcodierten Speicherort ignorieren. Sie werden den Speicherort bald korrigieren.

az deployment group create --template-file main.bicep

Führen Sie den folgenden Azure PowerShell-Befehl im Terminal aus. Sie können die Warnmeldungen zum hartcodierten Speicherort ignorieren. Sie werden den Speicherort bald korrigieren.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Überprüfen Ihrer Bereitstellung

  1. Kehren Sie zum Azure-Portal zurück, und wechseln Sie zu Ihrer Ressourcengruppe. Es wird noch immer eine erfolgreiche Bereitstellung angezeigt, da diese denselben Namen wie die erste Bereitstellung verwendet hat.

  2. Wählen Sie den Link 1 Succeeded (1 erfolgreich) aus.

  3. Wählen Sie die Bereitstellung mit dem Namen main aus, und wählen Sie dann Bereitstellungsdetails aus, um die Liste der bereitgestellten Ressourcen zu erweitern.

    Screenshot des Azure-Portals für die Bereitstellung mit aufgelisteten Storage Account- und App Service-Ressourcen

  4. Beachten Sie, dass der App Service-Plan und die App bereitgestellt wurden.