Övning – Uppdatera och ta bort en distributionsstack

Slutförd

Du är på sprint 2 för det nya inlåningsprogrammet. Du vill testa uppdatering av distributionsstacken genom att definiera en Azure SQL-databas i Bicep-filen. Du vill kontrollera att stacken hanterar de nyligen definierade resurserna.

I den här övningen uppdaterar du Bicep-filen som du skapade tidigare för att inkludera nya resurser. Du kan också uppdatera och ta bort den distributionsstack som hanterar dina resurser.

  • Uppdatera Bicep-filen så att den innehåller en Azure SQL-databas.
  • Uppdatera distributionsstacken för att distribuera den nya databasen.
  • Verifiera distributionsstackens hanterade resurser.
  • Ta bort distributionsstacken och hanterade resurser.
  • Verifiera borttagningen av distributionsstacken och de hanterade resurserna.

Uppdatera Bicep-filen så att den innehåller Azure SQL-databasen

  1. Öppna filen main.bicep i Visual Studio Code.

  2. Lägg till den markerade koden i avsnittet parametrar i filen:

    // 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. Lägg till följande kod längst ned i filen:

    // 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. Spara ändringarna i filen.

Uppdatera distributionsstacken

När Bicep-filen har uppdaterats vill vi uppdatera distributionsstacken så att den nya Azure SQL-databasen distribueras till miljön som en hanterad resurs.

  1. Om du vill uppdatera distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.

    az stack group create \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --template-file ./main.bicep \
        --action-on-unmanage deleteAll \
        --deny-settings-mode none
    
  2. Du får ett meddelande om att stacken redan finns i den aktuella prenumerationen. Om värdet för åtgärden för ohanterad parameter har ändrats varnar varningen dig om de nya värdena. Tryck på y, följt av "Retur".

    En skärmbild som visar azure CLI-kommandoraden som varnar för att distributionsstacken redan finns.

  3. Du uppmanas att ange ett värde för sqlServerAdminUserName. Skapa ett namn för SQL Server-administratören följt av "Retur".

    En skärmbild som visar Azure CLI-kommandoraden där du uppmanas att ange ett användarnamn för SQL Server-administratören.

  4. Du uppmanas att ange ett värde för sqlServerAdminPassword. Skapa ett komplext lösenord för SQL Server-administratören följt av "Retur".

    En skärmbild som visar Azure CLI-kommandoraden där du uppmanas att ange ett administratörslösenord för SQL Server.

Vänta tills uppdateringsåtgärden har slutförts innan du går vidare till nästa uppgift.

När Bicep-filen har uppdaterats vill vi uppdatera distributionsstacken så att den nya Azure SQL-databasen distribueras till miljön som en hanterad resurs.

  1. Om du vill uppdatera distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. Du uppmanas att ange ett värde för sqlServerAdminUserName. Skapa ett namn för SQL Server-administratören följt av "Retur".

    En skärmbild som visar Azure PowerShell-kommandoraden där du uppmanas att ange ett användarnamn för SQL Server-administratören.

  3. Du uppmanas att ange ett värde för sqlServerAdminPassword. Skapa ett komplext lösenord för SQL Server-administratören följt av "Retur".

    En skärmbild som visar Azure PowerShell-kommandoraden där du uppmanas att ange ett administratörslösenord för SQL Server.

  4. Vänta tills uppdateringsåtgärden har slutförts innan du går vidare till nästa uppgift.

Verifiera uppdateringen av distributionsstacken och de hanterade resurserna

När uppdateringen är klar vill vi verifiera att distributionsstacken hanterar Azure SQL-databasen. Om du vill visa konfigurationen av distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.

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

Resultatet bör se bekant ut för följande utdata:

{
  "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"
}

Observera resursavsnittet i utdata. Nu visas SQL-servern och SQL-databasen som hanterade resurser.

När uppdateringen är klar vill vi verifiera att distributionsstacken hanterar Azure SQL-databasen. Om du vill visa konfigurationen av distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.

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

Resultatet bör se bekant ut för följande utdata:

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               ""

Observera resursavsnittet i utdata. Nu visas SQL-servern och SQL-databasen som hanterade resurser.

Ta bort distributionsstacken

  1. Om du vill ta bort distributionsstacken och dess hanterade resurser kör du följande kommando från terminalen i Visual Studio Code.

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. Du uppmanas att bekräfta om du vill ta bort stacken och de angivna resurserna.

    En skärmbild som visar en kommandoradsbekräftelse för att ta bort distributionsstacken med Hjälp av Azure CLI.

  3. När borttagningen har slutförts öppnar du Azure Portal och kontrollerar att distributionsstacken och dess resurser har tagits bort.

  4. Om du vill ta bort resursgruppen som används i de här övningarna kör du följande kommando från terminalen i Visual Studio Code.

    az group delete \
        -name rg-depositsApplication
    
  5. Du uppmanas att bekräfta om du vill ta bort resursgruppen. Tryck på 'Y', följt av 'Retur'.

    En skärmbild som visar en kommandoradsbekräftelse för att ta bort resursgruppen med hjälp av Azure CLI.

  1. Om du vill ta bort distributionsstacken och dess hanterade resurser kör du följande kommando från terminalen i Visual Studio Code.

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. Du uppmanas att bekräfta om du vill ta bort stacken och de angivna resurserna.

    En skärmbild som visar en kommandoradsbekräftelse för att ta bort distributionsstacken med Hjälp av Azure PowerShell.

  3. När borttagningen har slutförts öppnar du Azure Portal och kontrollerar att distributionsstacken och dess resurser har tagits bort.

  4. Om du vill ta bort resursgruppen som används i de här övningarna kör du följande kommando från terminalen i Visual Studio Code.

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. Du uppmanas att bekräfta om du vill ta bort resursgruppen. Tryck på 'Y', följt av 'Retur'.

    En skärmbild som visar en kommandoradsbekräftelse för att ta bort resursgruppen med hjälp av Azure PowerShell.