Esercizio - Scollegare ed eliminare risorse gestite da uno stack di distribuzione
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.
Aprire il file main.bicep in Visual Studio Code.
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'
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 } }
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.
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
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'.
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.
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
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.
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
Prendere nota della
actionOnUnmanage
sezione dell'output. I valori sono tutti impostati sudetach
. 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" },
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.
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
Osservare i valori per
resourcesCleanupAction
,resourceGroupsCleanupAction
emanagementGroupsCleanupAction
. I valori sono tutti impostati sudetach
. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .-ActionOnUnmanage DetachAll
resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
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.
Vai al portale di Azure.
Nel pannello di sinistra selezionare Gruppi di risorse.
Selezionare rg-depositsApplication.
Se necessario, espandere il menu delle impostazioni .
Selezionare Stack di distribuzione.
Selezionare stack-depositi.
Verificare di avere quattro risorse gestite e due risorse scollegate (Log Analitica e Application Insights).
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.
Riaprire il file main.bicep in Visual Studio Code.
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)}'
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' } }
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.
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
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'.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.
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
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.
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
Prendere nota della
actionOnUnmanage
sezione dell'output. I valori sono tutti impostati sudelete
. 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" },
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.
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
Osservare i valori per
resourcesCleanupAction
,resourceGroupsCleanupAction
emanagementGroupsCleanupAction
. I valori sono tutti impostati sudelete
. Questo risultato è dovuto al fatto che è stato eseguito l'aggiornamento dello stack di distribuzione con .-ActionOnUnmanage DeleteAll
resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
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
Tornare al portale di Azure.
Nel pannello di sinistra selezionare Gruppi di risorse.
Selezionare rg-depositsApplication.
Se necessario, espandere il menu delle impostazioni .
Selezionare Stack di distribuzione.
Selezionare stack-depositi.
Verificare che il piano di servizio app e il servizio app esistano ancora come risorse gestite e che le altre risorse vengano eliminate.
Eliminare lo stack di distribuzione
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
Richiede di confermare se si vuole eliminare lo stack e le risorse specificate.
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.
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
Richiede di confermare se si vuole rimuovere il gruppo di risorse. Premere 'Y', quindi premere 'INVIO'.
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
Richiede di confermare se si vuole eliminare lo stack e le risorse specificate.
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.
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
Richiede di confermare se si vuole rimuovere il gruppo di risorse. Premere 'Y', quindi premere 'INVIO'.
Tornare al portale di Azure.
Nel pannello di sinistra selezionare Gruppi di risorse.
Verificare che rg-depositsApplication non esista più.