Cvičení – aktualizace a odstranění zásobníku nasazení

Dokončeno

Jste ve sprintu 2 pro novou aplikaci pro vklady. Chcete otestovat aktualizaci zásobníku nasazení definováním databáze Azure SQL v souboru Bicep. Chcete ověřit, že zásobník spravuje nově definované prostředky.

V tomto cvičení aktualizujete soubor Bicep, který jste vytvořili dříve, aby zahrnoval nové prostředky. Také aktualizujete a odstraníte zásobník nasazení, který spravuje vaše prostředky.

  • Aktualizujte soubor Bicep tak, aby zahrnoval databázi Azure SQL.
  • Aktualizujte zásobník nasazení a nasaďte novou databázi.
  • Ověřte spravované prostředky zásobníku nasazení.
  • Odstraňte zásobník nasazení a spravované prostředky.
  • Ověřte odstranění zásobníku nasazení a spravovaných prostředků.

Aktualizace souboru Bicep tak, aby zahrnoval databázi Azure SQL

  1. Otevřete soubor main.bicep v editoru Visual Studio Code.

  2. Přidejte zvýrazněný kód do oddílu parametrů souboru:

    // 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. Do dolní části souboru přidejte následující kód:

    // 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. Uložte změny souboru.

Aktualizace zásobníku nasazení

S aktualizovaným souborem Bicep chceme aktualizovat zásobník nasazení tak, aby se nová databáze Azure SQL nasadila do prostředí jako spravovaný prostředek.

  1. Pokud chcete aktualizovat zásobník nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

    az stack group create \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --template-file ./main.bicep \
        --action-on-unmanage deleteAll \
        --deny-settings-mode none
    
  2. Zobrazí se zpráva s oznámením, že zásobník již v aktuálním předplatném existuje. Pokud se hodnota akce u nespravovaných parametrů změnila, upozornění vás upozorní na nové hodnoty. Stiskněte klávesu y, následovanou klávesou Enter.

    Snímek obrazovky znázorňující upozornění příkazového řádku Azure CLI, že zásobník nasazení už existuje

  3. Zobrazí se výzva k zadání hodnoty .sqlServerAdminUserName Vytvořte název správce SQL Serveru a potom enter.

    Snímek obrazovky s příkazovým řádkem Azure CLI s výzvou k zadání uživatelského jména správce SQL Serveru

  4. Zobrazí se výzva k zadání hodnoty .sqlServerAdminPassword Vytvořte složité heslo pro správce SQL Serveru a potom enter.

    Snímek obrazovky s příkazovým řádkem Azure CLI s výzvou k zadání hesla správce SQL Serveru

Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.

S aktualizovaným souborem Bicep chceme aktualizovat zásobník nasazení tak, aby se nová databáze Azure SQL nasadila do prostředí jako spravovaný prostředek.

  1. Pokud chcete aktualizovat zásobník nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. Zobrazí se výzva k zadání hodnoty .sqlServerAdminUserName Vytvořte název správce SQL Serveru a potom enter.

    Snímek obrazovky s příkazovým řádkem Azure PowerShellu s výzvou k zadání uživatelského jména správce SQL Serveru

  3. Zobrazí se výzva k zadání hodnoty .sqlServerAdminPassword Vytvořte složité heslo pro správce SQL Serveru a potom enter.

    Snímek obrazovky s příkazovým řádkem Azure PowerShellu s výzvou k zadání hesla správce SQL Serveru

  4. Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.

Ověření aktualizace zásobníku nasazení a spravovaných prostředků

Po dokončení aktualizace chceme ověřit, že zásobník nasazení spravuje databázi Azure SQL. Pokud chcete zobrazit konfiguraci zásobníku nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

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

Výsledek by měl být známý pro následující výstup:

{
  "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šimněte si oddílu prostředků výstupu. Teď vidíme, že SQL Server a databáze SQL jsou uvedené jako spravované prostředky.

Po dokončení aktualizace chceme ověřit, že zásobník nasazení spravuje databázi Azure SQL. Pokud chcete zobrazit konfiguraci zásobníku nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

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

Výsledek by měl být známý pro následující výstup:

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šimněte si oddílu prostředků výstupu. Teď vidíme, že SQL Server a databáze SQL jsou uvedené jako spravované prostředky.

Odstranění zásobníku nasazení

  1. Pokud chcete odstranit zásobník nasazení a jeho spravované prostředky, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. Zobrazí se výzva k potvrzení, jestli chcete odstranit zásobník a zadané prostředky.

    Snímek obrazovky s potvrzením příkazového řádku pro odstranění zásobníku nasazení pomocí Azure CLI

  3. Po dokončení operace odstranění otevřete web Azure Portal a ověřte, že se odebere zásobník nasazení a jeho prostředky.

  4. Pokud chcete odstranit skupinu prostředků používanou v těchto cvičeních, spusťte následující příkaz z terminálu v editoru Visual Studio Code.

    az group delete \
        -name rg-depositsApplication
    
  5. Zobrazí se výzva k potvrzení, jestli chcete odebrat skupinu prostředků. Stiskněte Y a pak Enter.

    Snímek obrazovky s potvrzením příkazového řádku pro odstranění skupiny prostředků pomocí Azure CLI

  1. Pokud chcete odstranit zásobník nasazení a jeho spravované prostředky, spusťte z terminálu v editoru Visual Studio Code následující příkaz.

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. Zobrazí se výzva k potvrzení, jestli chcete odstranit zásobník a zadané prostředky.

    Snímek obrazovky s potvrzením příkazového řádku pro odstranění zásobníku nasazení pomocí Azure PowerShellu

  3. Po dokončení operace odstranění otevřete web Azure Portal a ověřte, že se odebere zásobník nasazení a jeho prostředky.

  4. Pokud chcete odstranit skupinu prostředků používanou v těchto cvičeních, spusťte následující příkaz z terminálu v editoru Visual Studio Code.

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. Zobrazí se výzva k potvrzení, jestli chcete odebrat skupinu prostředků. Stiskněte Y a pak Enter.

    Snímek obrazovky s potvrzením příkazového řádku pro odstranění skupiny prostředků pomocí Azure PowerShellu