Øvelse – Opdater og slet en installationsstak

Fuldført

Du er på sprint 2 for den nye indlån ansøgning. Du vil teste opdatering af installationsstakken ved at definere en Azure SQL-database i Bicep-filen. Du vil kontrollere, at stakken administrerer de nyligt definerede ressourcer.

I denne øvelse skal du opdatere den Bicep-fil, du tidligere har oprettet, så den indeholder nye ressourcer. Du kan også opdatere og slette den installationsstak, der administrerer dine ressourcer.

  • Opdater Bicep-filen, så den indeholder en Azure SQL-database.
  • Opdater installationsstakken for at installere den nye database.
  • Valider installationsstakkens administrerede ressourcer.
  • Slet installationsstakken og de administrerede ressourcer.
  • Valider sletningen af installationsstakken og de administrerede ressourcer.

Opdater Bicep-filen, så den indeholder Azure SQL-databasen

  1. Åbn filen main.bicep i Visual Studio Code.

  2. Føj den fremhævede kode til afsnittet med parametre 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. Føj følgende kode til bunden af 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. Gem ændringerne i filen.

Opdater udrulningsstakken

Når Bicep-filen er opdateret, vil vi opdatere udrulningsstakken, så den nye Azure SQL-database installeres i miljøet som en administreret ressource.

  1. Hvis du vil opdatere installationsstakken, skal du køre følgende kommando fra 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 modtager en meddelelse om, at stakken allerede findes i det aktuelle abonnement. Hvis værdien af handling for ikke-administreret parameter ændret, giver advarselsmeddelelsen dig besked om de nye værdier. Tryk på yefterfulgt af 'Enter'.

    Et skærmbillede, der viser kommandolinjegrænsefladen i Azure advarslen om, at installationsstakken allerede findes.

  3. Du bliver bedt om at angive en værdi for sqlServerAdminUserName. Opret et navn til SQL-serveradministratoren efterfulgt af 'Enter.'

    Et skærmbillede, der viser kommandolinjegrænsefladen i Azure, hvor du bliver bedt om at angive et SQL Server-administratorbrugernavn.

  4. Du bliver bedt om at angive en værdi for sqlServerAdminPassword. Opret en kompleks adgangskode til SQL-serveradministratoren efterfulgt af 'Enter.'

    Et skærmbillede, der viser kommandolinjegrænsefladen i Azure, hvor du bliver bedt om at angive en adgangskode til SQL Server-administrator.

Vent på, at opdateringshandlingen fuldføres, før du går videre til den næste opgave.

Når Bicep-filen er opdateret, vil vi opdatere udrulningsstakken, så den nye Azure SQL-database installeres i miljøet som en administreret ressource.

  1. Hvis du vil opdatere installationsstakken, skal du køre følgende kommando fra terminalen i Visual Studio Code.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. Du bliver bedt om at angive en værdi for sqlServerAdminUserName. Opret et navn til SQL-serveradministratoren efterfulgt af 'Enter.'

    Et skærmbillede, der viser Azure PowerShell-kommandolinjen, hvor du bliver bedt om at angive et SQL Server-administratorbrugernavn.

  3. Du bliver bedt om at angive en værdi for sqlServerAdminPassword. Opret en kompleks adgangskode til SQL-serveradministratoren efterfulgt af 'Enter.'

    Et skærmbillede, der viser Azure PowerShell-kommandolinjen, hvor du bliver bedt om at angive en ADGANGSKODE til SQL Server-administrator.

  4. Vent på, at opdateringshandlingen fuldføres, før du går videre til den næste opgave.

Kontrollér opdateringen til installationsstakken og de administrerede ressourcer

Når opdateringen er fuldført, vil vi validere, at udrulningsstakken administrerer Azure SQL-databasen. Hvis du vil have vist konfigurationen af installationsstakken, skal du køre følgende kommando fra terminalen i Visual Studio Code.

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

Resultatet bør se ud til at være velkendt for følgende output:

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

Vær opmærksom på ressourceafsnittet i outputtet. Vi kan nu se SQL-serveren og SQL-databasen angivet som administrerede ressourcer.

Når opdateringen er fuldført, vil vi validere, at udrulningsstakken administrerer Azure SQL-databasen. Hvis du vil have vist konfigurationen af installationsstakken, skal du køre følgende kommando fra terminalen i Visual Studio Code.

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

Resultatet bør se ud til at være velkendt for følgende output:

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

Vær opmærksom på ressourceafsnittet i outputtet. Vi kan nu se SQL-serveren og SQL-databasen angivet som administrerede ressourcer.

Slet installationsstakken

  1. Hvis du vil slette installationsstakken og dens administrerede ressourcer, skal du køre følgende kommando fra terminalen i Visual Studio Code.

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. Du bliver bedt om at bekræfte, om du vil slette stakken og de angivne ressourcer.

    Et skærmbillede, der viser en kommandolinjebekræftelse for at slette installationsstakken ved hjælp af Azure CLI.

  3. Når sletningen er fuldført, skal du åbne Azure Portal og kontrollere, at udrulningsstakken og dens ressourcer er fjernet.

  4. Hvis du vil slette den ressourcegruppe, der bruges i disse øvelser, skal du køre følgende kommando fra terminalen i Visual Studio Code.

    az group delete \
        -name rg-depositsApplication
    
  5. Du bliver bedt om at bekræfte, om du vil fjerne ressourcegruppen. Tryk på 'Y' efterfulgt af 'Enter'.

    Et skærmbillede, der viser en kommandolinjebekræftelse for at slette ressourcegruppen ved hjælp af Kommandolinjegrænsefladen i Azure.

  1. Hvis du vil slette installationsstakken og dens administrerede ressourcer, skal du køre følgende kommando fra terminalen i Visual Studio Code.

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. Du bliver bedt om at bekræfte, om du vil slette stakken og de angivne ressourcer.

    Et skærmbillede, der viser en kommandolinjebekræftelse for at slette udrulningsstakken ved hjælp af Azure PowerShell.

  3. Når sletningen er fuldført, skal du åbne Azure Portal og kontrollere, at udrulningsstakken og dens ressourcer er fjernet.

  4. Hvis du vil slette den ressourcegruppe, der bruges i disse øvelser, skal du køre følgende kommando fra terminalen i Visual Studio Code.

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. Du bliver bedt om at bekræfte, om du vil fjerne ressourcegruppen. Tryk på 'Y' efterfulgt af 'Enter'.

    Et skærmbillede, der viser en kommandolinjebekræftelse for at slette ressourcegruppen ved hjælp af Azure PowerShell.