Übung: Aktualisieren und Löschen eines Bereitstellungsstapels

Abgeschlossen

Nun sind Sie bei Sprint 2 für die neue Depotanwendung angelangt. Sie möchten das Aktualisieren des Bereitstellungsstapels testen, indem Sie eine Azure SQL-Datenbank in der Bicep-Datei definieren. Sie möchten überprüfen, ob der Stapel die neu definierten Ressourcen verwaltet.

In dieser Übung aktualisieren Sie die Bicep-Datei, die Sie zuvor erstellt haben, um neue Ressourcen einzuschließen. Außerdem aktualisieren und löschen Sie den Bereitstellungsstapel, der Ihre Ressourcen verwaltet.

  • Aktualisieren der Bicep-Datei, um eine Azure SQL-Datenbank einzuschließen
  • Aktualisieren des Bereitstellungsstapels, um eine neue Datenbank bereitzustellen
  • Überprüfen der verwalteten Ressourcen des Bereitstellungsstapels
  • Löschen des Bereitstellungsstapels und der verwalteten Ressourcen
  • Überprüfen der Löschung des Bereitstellungsstapels und der verwalteten Ressourcen

Aktualisieren der Bicep-Datei, um die Azure SQL-Datenbank einzuschließen

  1. Öffnen Sie die Datei main.bicep in Visual Studio Code.

  2. Fügen Sie den hervorgehobenen Code zum Parameterabschnitt Ihrer Datei hinzu:

    // Parameters
    @description('The location for all resources.')
    param location string = 'eastus'
    
    @description('The name of the SQL database.')
    param sqlDatabaseName string = 'sqldb-${uniqueString(resourceGroup().id)}'
    
    @description('The password of the admin user.')
    param sqlServerAdminUserName string
    
    @description('The name of the admin user.')
    @secure()
    param sqlServerAdminPassword string
    
    @description('The name of the SQL server.')
    param sqlServerName string = 'sql-${uniqueString(resourceGroup().id)}'
    
    @description('The name of the web application.')
    param webApplicationName string = 'webapp-${uniqueString(resourceGroup().id)}'
    
    // Variables
    @description('The name of the app service plan.')
    var appServicePlanName = 'plan-deposits'
    
  3. Fügen Sie unten in der Datei den folgenden Code hinzu:

    // Resource - SQL Server
    resource sqlServer 'Microsoft.Sql/servers@2021-11-01' ={
      name: sqlServerName
      location: location
      properties: {
        administratorLogin: sqlServerAdminUserName
        administratorLoginPassword: sqlServerAdminPassword
      }
    }
    
    // Resource - SQL Database
    resource sqlServerDatabase 'Microsoft.Sql/servers/databases@2021-11-01' = {
      parent: sqlServer
      name: sqlDatabaseName
      location: location
      sku: {
        name: 'Standard'
        tier: 'Standard'
      }
    }
    
  4. Speichern Sie die Änderungen in der Datei.

Aktualisieren des Bereitstellungsstapels

Nachdem die Bicep-Datei aktualisiert wurde, müssen Sie den Bereitstellungsstapel aktualisieren, damit die neue Azure SQL-Datenbank in der Umgebung als verwaltete Ressource bereitgestellt wird.

  1. Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.

    az stack group create \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --template-file ./main.bicep \
        --action-on-unmanage deleteAll \
        --deny-settings-mode none
    
  2. Sie erhalten eine Meldung, die besagt, dass der Stapel bereits im aktuellen Abonnement vorhanden ist. Wenn sich der Wert des Parameters Aktion für Nichtverwalten verändert hat, werden Sie durch die Warnung über die neuen Werte benachrichtigt. Drücken Sie zunächst y und dann die EINGABETASTE.

    Screenshot: Warnung in der Azure CLI-Befehlszeile, dass der Bereitstellungsstapel bereits vorhanden ist

  3. Sie werden aufgefordert, einen Wert für sqlServerAdminUserName einzugeben. Erstellen Sie einen Namen für den SQL Server-Administrator, und drücken Sie die EINGABETASTE.

    Screenshot: Azure CLI-Befehlszeile, in der Sie aufgefordert werden, einen Benutzernamen für den SQL Server-Administrator einzugeben

  4. Sie werden aufgefordert, einen Wert für sqlServerAdminPassword einzugeben. Erstellen Sie ein komplexes Kennwort für den SQL Server-Administrator, und drücken Sie die EINGABETASTE.

    Screenshot: Azure CLI-Befehlszeile, in der Sie aufgefordert werden, ein Kennwort für den SQL Server-Administrator einzugeben.

Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.

Nachdem die Bicep-Datei aktualisiert wurde, müssen Sie den Bereitstellungsstapel aktualisieren, damit die neue Azure SQL-Datenbank in der Umgebung als verwaltete Ressource bereitgestellt wird.

  1. Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. Sie werden aufgefordert, einen Wert für sqlServerAdminUserName einzugeben. Erstellen Sie einen Namen für den SQL Server-Administrator, und drücken Sie die EINGABETASTE.

    Screenshot: Azure PowerShell-Befehlszeile, in der Sie aufgefordert werden, einen Benutzernamen für den SQL Server-Administrator einzugeben

  3. Sie werden aufgefordert, einen Wert für sqlServerAdminPassword einzugeben. Erstellen Sie ein komplexes Kennwort für den SQL Server-Administrator, und drücken Sie die EINGABETASTE.

    Screenshot: Azure PowerShell-Befehlszeile, in der Sie aufgefordert werden, ein Kennwort für den SQL Server-Administrator einzugeben

  4. Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.

Überprüfen der Aktualisierung des Bereitstellungsstapels und der verwalteten Ressourcen

Nach Abschluss der Aktualisierung müssen Sie überprüfen, ob der Bereitstellungsstapel die Azure SQL-Datenbank verwaltet. Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.

az stack group show \
    --resource-group rg-depositsApplication \
    --name stack-deposits

Das Ergebnis sollte der folgenden Ausgabe ähneln:

{
  "actionOnUnmanage": {
    "managementGroups": "detach",
    "resourceGroups": "detach",
    "resources": "detach"
  },
  "bypassStackOutOfSyncError": null,
  "correlationId": ".",
  "debugSetting": null,
  "deletedResources": [],
  "denySettings": {
    "applyToChildScopes": false,
    "excludedActions": null,
    "excludedPrincipals": null,
    "mode": "none"
  },
  "deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
  "deploymentScope": null,
  "description": null,
  "detachedResources": [],
  "duration": "PT2M53.2734284S",
  "error": null,
  "failedResources": [],
  "id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
  "location": null,
  "name": "stack-deposits",
  "outputs": null,
  "parameters": {
    "sqlServerAdminPassword": {
      "reference": null,
      "type": "securestring",
      "value": ""
    },
    "sqlServerAdminUserName": {
      "reference": null,
      "type": "string",
      "value": "sqladmin"
    }
  },
  "parametersLink": null,
  "provisioningState": "succeeded",
  "resourceGroup": "rg-depositsApplication",
  "resources": [
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    }
  ],
  "systemData": {
    "createdAt": "2024-01-01T00:00:01.000000+00:00",
    "createdBy": "depositsapplication@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
    "lastModifiedBy": "depositsapplication@contoso.com",
    "lastModifiedByType": "User"
  },
  "tags": {},
  "template": null,
  "templateLink": null,
  "type": "Microsoft.Resources/deploymentStacks"
}

Beachten Sie den Ressourcenabschnitt der Ausgabe. Nun werden der SQL Server und die SQL-Datenbank als verwaltete Ressourcen aufgeführt.

Nach Abschluss der Aktualisierung müssen Sie überprüfen, ob der Bereitstellungsstapel die Azure SQL-Datenbank verwaltet. Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.

Get-AzResourceGroupDeploymentStack `
    -ResourceGroupName rg-depositsApplication `
    -Name stack-deposits

Das Ergebnis sollte der folgenden Ausgabe ähneln:

Id                            : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name                          : stack-deposits
ProvisioningState             : succeeded
resourcesCleanupAction        : detach
resourceGroupsCleanupAction   : detach
managementGroupsCleanupAction : detach
CorrelationId                 : .
DenySettingsMode              : none
CreationTime(UTC)             : 1/01/2024 0:00:01 AM
DeploymentId                  : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources                     : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
                                /subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
                                /subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq
                                /subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq
Parameters                    : 
                                Name                      Type                       Value     
                                ========================  =========================  ==========
                                sqlServerAdminUserName    string                     "sqladmin"
                                sqlServerAdminPassword    securestring               ""

Beachten Sie den Ressourcenabschnitt der Ausgabe. Nun werden der SQL Server und die SQL-Datenbank als verwaltete Ressourcen aufgeführt.

Löschen des Bereitstellungsstapels

  1. Führen Sie zum Löschen des Bereitstellungsstapels und der verwalteten Ressourcen den folgenden Befehl über das Terminal in Visual Studio Code aus.

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. Sie werden aufgefordert, zu bestätigen, ob Sie den Stapel und die angegebenen Ressourcen löschen möchten.

    Screenshot: Befehlszeilenbestätigung zum Löschen des Bereitstellungsstapels mithilfe der Azure CLI

  3. Öffnen Sie nach Abschluss des Löschvorgangs das Azure-Portal, und stellen Sie sicher, dass der Bereitstellungsstapel und die zugehörigen Ressourcen entfernt wurden.

  4. Um die in diesen Übungen verwendete Ressourcengruppe zu löschen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.

    az group delete \
        -name rg-depositsApplication
    
  5. Sie werden aufgefordert, zu bestätigen, ob Sie die Ressourcengruppe entfernen möchten. Drücken Sie „Y“ und dann die EINGABETASTE.

    Screenshot: Befehlszeilenbestätigung zum Löschen der Ressourcengruppe mithilfe der Azure CLI

  1. Führen Sie zum Löschen des Bereitstellungsstapels und der verwalteten Ressourcen den folgenden Befehl über das Terminal in Visual Studio Code aus.

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. Sie werden aufgefordert, zu bestätigen, ob Sie den Stapel und die angegebenen Ressourcen löschen möchten.

    Screenshot: Befehlszeilenbestätigung zum Löschen des Bereitstellungsstapels mithilfe von Azure PowerShell

  3. Öffnen Sie nach Abschluss des Löschvorgangs das Azure-Portal, und stellen Sie sicher, dass der Bereitstellungsstapel und die zugehörigen Ressourcen entfernt wurden.

  4. Um die in diesen Übungen verwendete Ressourcengruppe zu löschen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. Sie werden aufgefordert, zu bestätigen, ob Sie die Ressourcengruppe entfernen möchten. Drücken Sie „Y“ und dann die EINGABETASTE.

    Screenshot: Befehlszeilenbestätigung zum Löschen der Ressourcengruppe mithilfe von Azure PowerShell