Esercizio - Scollegare ed eliminare risorse gestite da uno stack di distribuzione

Completato 100 XP
Scegliere la shell di Azure

Sprint 3 per la nuova applicazione depositi sta per terminare. Il team dei depositi ha richiesto di scollegare l'area di lavoro Log Analitica e l'istanza di Application Insights dallo stack di distribuzione. Queste risorse devono continuare a esistere in Azure. Inoltre, hanno richiesto che il server SQL di Azure e il database vengano eliminati dallo stack di distribuzione e da Azure.

In questo esercizio si scollegano ed eliminano le risorse di Azure dallo stack di distribuzione che non sono più necessarie per l'applicazione di depositi. Per iniziare, scollegare le risorse dallo stack di distribuzione che devono continuare a esistere all'interno di Azure. Si eliminano quindi le risorse dallo stack di distribuzione che non sono più necessarie. Infine, si elimina lo stack di distribuzione, le relative risorse gestite e il gruppo di risorse.

Durante il processo, si

  • Modificare il file Bicep per rimuovere l'area di lavoro Log Analitica e l'istanza di Application Insights
  • Aggiornare lo stack di distribuzione per scollegare le risorse gestite
  • Convalidare le risorse gestite dello stack di distribuzione e le risorse scollegate
  • Modificare il file Bicep per rimuovere il server SQL di Azure e il database
  • Aggiornare lo stack di distribuzione per eliminare le risorse gestite
  • Convalidare le risorse gestite dello stack di distribuzione e le risorse eliminate
  • Eliminare lo stack di distribuzione e le risorse gestite.
  • Convalidare l'eliminazione dello stack di distribuzione e delle risorse gestite.

Modificare il file Bicep per scollegare l'area di lavoro Log Analitica e l'istanza di Application Insights

Il team dei depositi ha richiesto di scollegare l'area di lavoro Log Analitica e l'istanza di Application Insights dallo stack di distribuzione. Hanno anche richiesto che le risorse continuino a esistere in Azure. Per iniziare, modificare il file Bicep.

  1. Aprire il file main.bicep in Visual Studio Code.

  2. Rimuovere il codice evidenziato dalla sezione variables del file:

    // Variables
    @description('The name of the Application Insights instance.')
    var applicationInsightsName = 'appinsights-deposits'
    
    @description('The name of the app service plan.')
    var appServicePlanName = 'plan-deposits'
    
    @description('The name of the Log Analytics Workspace.')
    var logAnalyticsWorkspaceName = 'log-deposits'
    
  3. Rimuovere il codice evidenziato dalla sezione resources del file:

    // Resource - App Service Plan
    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: appServicePlanName
      location: location
      sku: {
        name: 'S1'
        capacity: 1
      }
    }
    
    // Resource - Web App
    resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
      name: webApplicationName
      location: location
      properties: {
        serverFarmId: appServicePlan.id
        siteConfig: {
          appSettings: [
            {
              name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
              value: applicationInsights.properties.InstrumentationKey
            }     
          ]
        }    
      }
    }
    
    // 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'
      }
    }
    
    // Resource - Log Analytics Workspace
    resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2023-09-01' = {
      name: logAnalyticsWorkspaceName
      location: location
      properties: {
        retentionInDays: 30
        sku: {
          name: 'PerGB2018'
        }
      }
    }
    
    // Resource - Application Insights
    resource applicationInsights 'Microsoft.Insights/components@2020-02-02' = {
      name: applicationInsightsName
      location: location
      kind: 'web'
      properties: {
        Application_Type: 'web'
        WorkspaceResourceId: logAnalyticsWorkspace.id
      }
    }
    
  4. Salvare le modifiche apportate al file.

Aggiornare lo stack di distribuzione per scollegare le risorse gestite

Dopo aver modificato il file Bicep, si vuole aggiornare lo stack di distribuzione in modo che l'area di lavoro Log Analitica e l'istanza di Application Insights vengano scollegati dallo stack. Questo risultato viene usato --action-on-unmanage detachAll per ottenere questo risultato.

  1. Per aggiornare lo stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    az stack group create \
        --name stack-deposits \
        --resource-group 'rg-depositsApplication' \
        --template-file ./main.bicep \
        --action-on-unmanage detachAll \
        --deny-settings-mode none
    
  2. Viene visualizzato un messaggio che informa che lo stack esiste già nella sottoscrizione corrente. Se il valore dell'azione sul parametro non gestito cambia, l'avviso notifica gli utenti dei nuovi valori. Premere y, quindi premere 'INVIO'.

    Screenshot che mostra l'avviso della riga di comando dell'interfaccia della riga di comando di Azure che indica che lo stack di distribuzione esiste già.

Prima di passare all'attività successiva, attendere il completamento dell'operazione di aggiornamento.

Dopo aver modificato il file Bicep, si vuole aggiornare lo stack di distribuzione in modo che l'area di lavoro Log Analitica e l'istanza di Application Insights vengano scollegati dallo stack. Questo risultato viene usato ActionOnUnmanage DetachAll per ottenere questo risultato.

  1. Per aggiornare lo stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DetachAll `
        -DenySettingsMode none
    
  2. Prima di passare all'attività successiva, attendere il completamento dell'operazione di aggiornamento.

Convalidare le risorse gestite dello stack di distribuzione e le risorse scollegate

Al termine dell'aggiornamento, si vuole verificare che lo stack di distribuzione non gestisca più l'area di lavoro Log Analitica e l'istanza di Application Insights.

  1. Per visualizzare la configurazione dello stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    az stack group show \
        --resource-group rg-depositsApplication \
        --name stack-deposits
    
  2. Prendere nota della actionOnUnmanage sezione dell'output. I valori sono tutti impostati su detach. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .--action-on-unmanage detachAll

    "actionOnUnmanage": {
      "managementGroups": "detach",
      "resourceGroups": "detach",
      "resources": "detach"
    },
    
  3. Esaminare ora la sezione delle risorse dell'output. L'area di lavoro Log Analitica e l'istanza di Application Insights non vengono più visualizzate come risorse gestite.

    "resources": [
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././servers/sql-brpdm7iotbwjm",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      },
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././servers/sql-brpdm7iotbwjm/databases/sqldb-brpdm7iotbwjm",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      },
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      },
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      }
    ],
    

Al termine dell'aggiornamento, si vuole verificare che lo stack di distribuzione non gestisca più l'area di lavoro Log Analitica e l'istanza di Application Insights.

  1. Per visualizzare la configurazione dello stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    Get-AzResourceGroupDeploymentStack `
        -ResourceGroupName rg-depositsApplication `
        -Name stack-deposits
    
  2. Osservare i valori per resourcesCleanupAction, resourceGroupsCleanupActione managementGroupsCleanupAction. I valori sono tutti impostati su detach. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .-ActionOnUnmanage DetachAll

    resourcesCleanupAction        : detach
    resourceGroupsCleanupAction   : detach
    managementGroupsCleanupAction : detach
    
  3. Esaminare ora la sezione delle risorse dell'output. L'area di lavoro Log Analitica e l'istanza di Application Insights non vengono più visualizzate come risorse gestite.

    Resources                     : /subscriptions/./resourceGroups/rg-depositsApplication/././servers/sql-brpdm7iotbwjm
                                    /subscriptions/./resourceGroups/rg-depositsApplication/././servers/sql-brpdm7iotbwjm/databases/sqldb-brpdm7iotbwjm
                                    /subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits
                                    /subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm
    

Verrà ora convalidato lo stack di distribuzione nel portale di Azure.

  1. Vai al portale di Azure.

  2. Nel pannello di sinistra selezionare Gruppi di risorse.

  3. Selezionare rg-depositsApplication.

  4. Se necessario, espandere il menu delle impostazioni .

  5. Selezionare Stack di distribuzione.

  6. Selezionare stack-depositi.

  7. Verificare di avere quattro risorse gestite e due risorse scollegate (Log Analitica e Application Insights).

    Screenshot che mostra il portale di Azure che rappresenta uno stack di distribuzione e le relative risorse gestite e le risorse scollegate.

Modificare il file Bicep per scollegare ed eliminare il server e il database SQL di Azure

Il team dei depositi ha richiesto di scollegare ed eliminare il server SQL di Azure e il database dallo stack di distribuzione e Da Azure. Per iniziare, modificare il file Bicep.

  1. Riaprire il file main.bicep in Visual Studio Code.

  2. Rimuovere il codice evidenziato dalla sezione parametri del file:

    // 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)}'
    
  3. Rimuovere il codice evidenziato dalla sezione resources del file:

    // Resource - App Service Plan
    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: appServicePlanName
      location: location
      sku: {
        name: 'S1'
        capacity: 1
      }
    }
    
    // Resource - Web App
    resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
      name: webApplicationName
      location: location
      properties: {
        serverFarmId: appServicePlan.id
      }
    }
    
    // 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. Salvare le modifiche apportate al file.

Aggiornare lo stack di distribuzione per eliminare le risorse gestite

Con il file Bicep modificato, si vuole aggiornare lo stack di distribuzione in modo che il server SQL di Azure e il database vengano scollegati dallo stack ed eliminati da Azure. Questo risultato viene usato --action-on-unmanage deleteAll per ottenere questo risultato. Questa azione elimina anche l'area di lavoro Log Analitica e l'istanza di Application Insights scollegata nell'ultima sezione.

  1. Per aggiornare lo stack di distribuzione, eseguire il comando seguente dal terminale in 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. Viene visualizzato un messaggio che informa che lo stack esiste già nella sottoscrizione corrente. Se il valore dell'azione sul parametro non gestito cambia, l'avviso notifica gli utenti dei nuovi valori. Premere y, quindi premere 'INVIO'.

    Screenshot che mostra l'avviso della riga di comando dell'interfaccia della riga di comando di Azure che indica che lo stack di distribuzione esiste già.

  3. Prima di passare all'attività successiva, attendere il completamento dell'operazione di aggiornamento.

Con il file Bicep modificato, si vuole aggiornare lo stack di distribuzione in modo che il server SQL di Azure e il database vengano scollegati dallo stack ed eliminati da Azure. A tale scopo, viene usato -ActionOnUnmanage DeleteAll . Questa azione elimina anche l'area di lavoro Log Analitica e l'istanza di Application Insights scollegata nell'ultima sezione.

  1. Per aggiornare lo stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. Prima di passare all'attività successiva, attendere il completamento dell'operazione di aggiornamento.

Convalidare le risorse gestite dello stack di distribuzione

Al termine dell'aggiornamento, si vuole verificare che lo stack di distribuzione non gestisca più l'area di lavoro Log Analitica, l'istanza di Application Insights e il server e il database SQL di Azure. Si vuole anche verificare che le risorse vengano eliminate da Azure.

  1. Per visualizzare la configurazione dello stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    az stack group show \
        --resource-group rg-depositsApplication \
        --name stack-deposits
    
  2. Prendere nota della actionOnUnmanage sezione dell'output. I valori sono tutti impostati su delete. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .--action-on-unmanage deleteAll

    "actionOnUnmanage": {
      "managementGroups": "delete",
      "resourceGroups": "delete",
      "resources": "delete"
    },
    
  3. Esaminare ora la sezione delle risorse dell'output. Il server SQL di Azure e il database non vengono più visualizzati come risorse gestite.

    "resources": [
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      },
      {
        "denyStatus": "none",
        "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm",
        "resourceGroup": "rg-depositsApplication",
        "status": "managed"
      }
    ],
    

Al termine dell'aggiornamento, si vuole verificare che lo stack di distribuzione non gestisca più l'area di lavoro Log Analitica, l'istanza di Application Insights e il server e il database SQL di Azure. Si vuole anche verificare che le risorse vengano eliminate da Azure.

  1. Per visualizzare la configurazione dello stack di distribuzione, eseguire il comando seguente dal terminale in Visual Studio Code.

    Get-AzResourceGroupDeploymentStack `
        -ResourceGroupName rg-depositsApplication `
        -Name stack-deposits
    
  2. Osservare i valori per resourcesCleanupAction, resourceGroupsCleanupActione managementGroupsCleanupAction. I valori sono tutti impostati su delete. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .-ActionOnUnmanage DeleteAll

    resourcesCleanupAction        : delete
    resourceGroupsCleanupAction   : delete
    managementGroupsCleanupAction : delete
    
  3. Esaminare ora la sezione delle risorse dell'output. Il server SQL di Azure e il database non vengono più visualizzati come risorse gestite.

    Resources                     : /subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits
                                    /subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm
    
  1. Tornare al portale di Azure.

  2. Nel pannello di sinistra selezionare Gruppi di risorse.

  3. Selezionare rg-depositsApplication.

  4. Se necessario, espandere il menu delle impostazioni .

  5. Selezionare Stack di distribuzione.

  6. Selezionare stack-depositi.

  7. Verificare che il piano di servizio app e il servizio app esistano ancora come risorse gestite e che le altre risorse vengano eliminate.

    Screenshot che mostra il portale di Azure che rappresenta uno stack di distribuzione e le due risorse gestite.

Eliminare lo stack di distribuzione

  1. Per eliminare lo stack di distribuzione e le relative risorse gestite, eseguire il comando seguente dal terminale in Visual Studio Code.

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. Richiede di confermare se si vuole eliminare lo stack e le risorse specificate.

    Screenshot che mostra una conferma della riga di comando per eliminare lo stack di distribuzione usando l'interfaccia della riga di comando di Azure.

  3. Al termine dell'operazione di eliminazione, aprire il portale di Azure e verificare che lo stack di distribuzione e le relative risorse siano state rimosse.

  4. Per eliminare il gruppo di risorse usato in questi esercizi, eseguire il comando seguente dal terminale in Visual Studio Code.

    az group delete \
        -name rg-depositsApplication
    
  5. Richiede di confermare se si vuole rimuovere il gruppo di risorse. Premere 'Y', quindi premere 'INVIO'.

    Screenshot che mostra una conferma della riga di comando per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure.

  1. Per eliminare lo stack di distribuzione e le relative risorse gestite, eseguire il comando seguente dal terminale in Visual Studio Code.

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. Richiede di confermare se si vuole eliminare lo stack e le risorse specificate.

    Screenshot che mostra una conferma della riga di comando per eliminare lo stack di distribuzione usando Azure PowerShell.

  3. Al termine dell'operazione di eliminazione, aprire il portale di Azure e verificare che lo stack di distribuzione e le relative risorse siano state rimosse.

  4. Per eliminare il gruppo di risorse usato in questi esercizi, eseguire il comando seguente dal terminale in Visual Studio Code.

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. Richiede di confermare se si vuole rimuovere il gruppo di risorse. Premere 'Y', quindi premere 'INVIO'.

    Screenshot che mostra una conferma della riga di comando per eliminare il gruppo di risorse usando Azure PowerShell.

  1. Tornare al portale di Azure.

  2. Nel pannello di sinistra selezionare Gruppi di risorse.

  3. Verificare che rg-depositsApplication non esista più.


Unità successiva: Verifica delle conoscenze

Indietro Prossima