Übung: Löschen und Trennen verwalteter Ressourcen von einem Bereitstellungsstapel
Sprint 3 für die neue Depotanwendung befindet sich auf der Zielgeraden. Die Depotabteilung hat Sie aufgefordert, den Log Analytics-Arbeitsbereich und die Application Insights-Instanz vom Bereitstellungsstapel zu trennen. Diese Ressourcen müssen weiterhin in Azure vorhanden sein. Darüber hinaus wurden Sie gebeten, den Azure SQL-Server und die Azure SQL-Datenbank aus dem Bereitstellungsstapel und Azure zu entfernen.
In dieser Übung erfahren Sie, wie Sie Azure-Ressourcen vom Bereitstellungsstapel trennen und löschen, die für die Depotanwendung nicht mehr benötigt werden. Zunächst trennen Sie Ressourcen vom Bereitstellungsstapel, die weiterhin in Azure vorhanden sein müssen. Anschließend löschen Sie Ressourcen aus dem Bereitstellungsstapel, die nicht mehr benötigt werden. Schließlich löschen Sie den Bereitstellungsstapel, die verwalteten Ressourcen und die Ressourcengruppe.
Während dieses Prozesses führen Sie die folgenden Aufgaben aus:
- Ändern der Bicep-Datei, um den Log Analytics-Arbeitsbereich und die Application Insights-Instanz zu entfernen
- Updaten des Bereitstellungsstapels, um die verwalteten Ressourcen zu trennen
- Überprüfen der verwalteten Ressourcen des Bereitstellungsstapels und der getrennten Ressourcen
- Ändern der Bicep-Datei zum Entfernen des Azure SQL-Servers und der Azure SQL-Datenbank
- Updaten des Bereitstellungsstapels zum Löschen der verwalteten Ressourcen
- Überprüfen der verwalteten Ressourcen des Bereitstellungsstapels und der gelöschten Ressourcen
- Löschen des Bereitstellungsstapels und der verwalteten Ressourcen
- Überprüfen der Löschung des Bereitstellungsstapels und der verwalteten Ressourcen
Ändern der Bicep-Datei zum Trennen des Log Analytics-Arbeitsbereichs und der Application Insights-Instanz
Die Depotabteilung hat Sie aufgefordert, den Log Analytics-Arbeitsbereich und die Application Insights-Instanz vom Bereitstellungsstapel zu trennen. Zudem wurden Sie darauf hingewiesen, dass die Ressourcen weiterhin in Azure vorhanden sein müssen. Zunächst ändern Sie die Bicep-Datei.
Öffnen Sie die Datei main.bicep in Visual Studio Code.
Entfernen Sie den hervorgehobenen Code aus dem Variablenabschnitt Ihrer Datei:
// 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'
Entfernen Sie den hervorgehobenen Code aus dem Ressourcenabschnitt der Datei:
// 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 } }
Speichern Sie die Änderungen in der Datei.
Updaten des Bereitstellungsstapels, um die verwalteten Ressourcen zu trennen
Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel so updaten, dass der Log Analytics-Arbeitsbereich und die Application Insights-Instanz vom Stapel getrennt werden. Sie verwenden --action-on-unmanage detachAll
für dieses Ergebnis.
Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.
az stack group create \ --name stack-deposits \ --resource-group 'rg-depositsApplication' \ --template-file ./main.bicep \ --action-on-unmanage detachAll \ --deny-settings-mode none
Sie erhalten eine Meldung, die besagt, dass der Stapel bereits im aktuellen Abonnement vorhanden ist. Wenn sich der Wert des Parameters Aktion für Nichtverwalten verändert hat, werden Sie durch die Warnung über die neuen Werte benachrichtigt. Drücken Sie zunächst
y
und dann die EINGABETASTE.
Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.
Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel so updaten, dass der Log Analytics-Arbeitsbereich und die Application Insights-Instanz vom Stapel getrennt werden. Sie verwenden ActionOnUnmanage DetachAll
für dieses Ergebnis.
Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DetachAll ` -DenySettingsMode none
Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.
Überprüfen der verwalteten Ressourcen des Bereitstellungsstapels und der getrennten Ressourcen
Nach Abschluss des Updates müssen Sie überprüfen, ob der Log Analytics-Arbeitsbereich und die Application Insights-Instanz nicht mehr vom Bereitstellungsstapel verwaltet werden.
Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
az stack group show \ --resource-group rg-depositsApplication \ --name stack-deposits
Beachten Sie den
actionOnUnmanage
-Abschnitt der Ausgabe. Die Werte sind alle aufdetach
festgelegt. Dieses Ergebnis kann damit begründet werden, dass Sie den Bereitstellungsstapel mit--action-on-unmanage detachAll
upgedatet haben."actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "detach" },
Sehen Sie sich nun den Ressourcenabschnitt der Ausgabe an. Der Log Analytics-Arbeitsbereich und die Application Insights-Instanz werden nicht mehr als verwaltete Ressourcen angezeigt.
"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" } ],
Nach Abschluss des Updates müssen Sie überprüfen, ob der Log Analytics-Arbeitsbereich und die Application Insights-Instanz nicht mehr vom Bereitstellungsstapel verwaltet werden.
Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
Get-AzResourceGroupDeploymentStack ` -ResourceGroupName rg-depositsApplication ` -Name stack-deposits
Beachten Sie die Werte für
resourcesCleanupAction
,resourceGroupsCleanupAction
undmanagementGroupsCleanupAction
. Die Werte sind alle aufdetach
festgelegt. Dieses Ergebnis kann damit begründet werden, dass Sie den Bereitstellungsstapel mit-ActionOnUnmanage DetachAll
upgedatet haben.resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
Sehen Sie sich nun den Ressourcenabschnitt der Ausgabe an. Der Log Analytics-Arbeitsbereich und die Application Insights-Instanz werden nicht mehr als verwaltete Ressourcen angezeigt.
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
Überprüfen Sie nun den Bereitstellungsstapel im Azure-Portal.
Öffnen Sie das Azure-Portal.
Wählen Sie im linken Bereich Ressourcengruppen aus.
Wählen Sie rg-depositsApplication aus.
Erweitern Sie bei Bedarf das Menü Einstellungen.
Klicken Sie auf Bereitstellungsstapel.
Wählen Sie stack-deposits aus.
Stellen Sie sicher, dass Sie über vier verwaltete Ressourcen und zwei getrennte Ressourcen verfügen (Log Analytics und Application Insights).
Ändern der Bicep-Datei zum Trennen und Löschen des Azure SQL-Servers und der Azure SQL-Datenbank
Die Depotabteilung hat Sie aufgefordert, den Azure SQL-Server und die Azure SQL-Datenbank vom Bereitstellungsstapel zu trennen und aus Azure zu löschen. Zunächst ändern Sie die Bicep-Datei.
Öffnen Sie die Datei main.bicep in Visual Studio Code erneut.
Entfernen Sie den hervorgehobenen Code aus dem Parameterabschnitt Ihrer Datei:
// 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)}'
Entfernen Sie den hervorgehobenen Code aus dem Ressourcenabschnitt der Datei:
// 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' } }
Speichern Sie die Änderungen in der Datei.
Updaten des Bereitstellungsstapels zum Löschen der verwalteten Ressourcen
Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel so updaten, dass der Azure SQL-Server und die Azure SQL-Datenbank vom Stapel getrennt und aus Azure gelöscht werden. Sie verwenden --action-on-unmanage deleteAll
für dieses Ergebnis. Mit dieser Aktion werden auch der Log Analytics-Arbeitsbereich und die Application Insights-Instanz gelöscht, die Sie im letzten Abschnitt vom Bereitstellungsstapel getrennt haben.
Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.
az stack group create \ --name stack-deposits \ --resource-group rg-depositsApplication \ --template-file ./main.bicep \ --action-on-unmanage deleteAll \ --deny-settings-mode none
Sie erhalten eine Meldung, die besagt, dass der Stapel bereits im aktuellen Abonnement vorhanden ist. Wenn sich der Wert des Parameters Aktion für Nichtverwalten verändert hat, werden Sie durch die Warnung über die neuen Werte benachrichtigt. Drücken Sie zunächst
y
und dann die EINGABETASTE.Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.
Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel so updaten, dass der Azure SQL-Server und die Azure SQL-Datenbank vom Stapel getrennt und aus Azure gelöscht werden. Hierfür verwenden Sie -ActionOnUnmanage DeleteAll
. Mit dieser Aktion werden auch der Log Analytics-Arbeitsbereich und die Application Insights-Instanz gelöscht, die Sie im letzten Abschnitt vom Bereitstellungsstapel getrennt haben.
Führen Sie zum Aktualisieren des Bereitstellungsstapels den folgenden Befehl über das Terminal in Visual Studio Code aus.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DeleteAll ` -DenySettingsMode none
Warten Sie, bis der Aktualisierungsvorgang abgeschlossen ist, bevor Sie mit der nächsten Aufgabe fortfahren.
Überprüfen der verwalteten Ressourcen des Bereitstellungsstapels
Nach Abschluss des Updates müssen Sie überprüfen, ob der Log Analytics-Arbeitsbereich, die Application Insights-Instanz, der Azure SQL-Server und die Azure SQL-Datenbank nicht mehr vom Bereitstellungsstapel verwaltet werden. Außerdem müssen Sie überprüfen, ob die Ressourcen aus Azure gelöscht werden.
Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
az stack group show \ --resource-group rg-depositsApplication \ --name stack-deposits
Beachten Sie den
actionOnUnmanage
-Abschnitt der Ausgabe. Die Werte sind alle aufdelete
festgelegt. Dieses Ergebnis kann damit begründet werden, dass Sie den Bereitstellungsstapel mit--action-on-unmanage deleteAll
upgedatet haben."actionOnUnmanage": { "managementGroups": "delete", "resourceGroups": "delete", "resources": "delete" },
Sehen Sie sich nun den Ressourcenabschnitt der Ausgabe an. Der Azure SQL-Server und die Azure SQL-Datenbank werden nicht mehr als verwaltete Ressourcen angezeigt.
"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" } ],
Nach Abschluss des Updates müssen Sie überprüfen, ob der Log Analytics-Arbeitsbereich, die Application Insights-Instanz, der Azure SQL-Server und die Azure SQL-Datenbank nicht mehr vom Bereitstellungsstapel verwaltet werden. Außerdem müssen Sie überprüfen, ob die Ressourcen aus Azure gelöscht werden.
Um die Konfiguration des Bereitstellungsstapels anzuzeigen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
Get-AzResourceGroupDeploymentStack ` -ResourceGroupName rg-depositsApplication ` -Name stack-deposits
Beachten Sie die Werte für
resourcesCleanupAction
,resourceGroupsCleanupAction
undmanagementGroupsCleanupAction
. Die Werte sind alle aufdelete
festgelegt. Dieses Ergebnis kann damit begründet werden, dass Sie den Bereitstellungsstapel mit-ActionOnUnmanage DeleteAll
upgedatet haben.resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
Sehen Sie sich nun den Ressourcenabschnitt der Ausgabe an. Der Azure SQL-Server und die Azure SQL-Datenbank werden nicht mehr als verwaltete Ressourcen angezeigt.
Resources : /subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits /subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm
Kehren Sie zum Azure-Portal zurück.
Wählen Sie im linken Bereich Ressourcengruppen aus.
Wählen Sie rg-depositsApplication aus.
Erweitern Sie bei Bedarf das Menü Einstellungen.
Klicken Sie auf Bereitstellungsstapel.
Wählen Sie stack-deposits aus.
Stellen Sie sicher, dass der App Service-Plan und die App Service-Instanz weiterhin als verwaltete Ressourcen vorhanden sind und die anderen Ressourcen gelöscht wurden.
Löschen des Bereitstellungsstapels
Führen Sie zum Löschen des Bereitstellungsstapels und der verwalteten Ressourcen den folgenden Befehl über das Terminal in Visual Studio Code aus.
az stack group delete \ --name stack-deposits \ --resource-group rg-depositsApplication \ --action-on-unmanage deleteAll
Sie werden aufgefordert, zu bestätigen, dass Sie den Stapel und die angegebenen Ressourcen löschen möchten.
Öffnen Sie nach Abschluss des Löschvorgangs das Azure-Portal, und stellen Sie sicher, dass der Bereitstellungsstapel und die zugehörigen Ressourcen entfernt wurden.
Um die in diesen Übungen verwendete Ressourcengruppe zu löschen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
az group delete \ -name rg-depositsApplication
Sie werden aufgefordert, zu bestätigen, dass Sie die Ressourcengruppe entfernen möchten. Drücken Sie „Y“ und dann die EINGABETASTE.
Führen Sie zum Löschen des Bereitstellungsstapels und der verwalteten Ressourcen den folgenden Befehl über das Terminal in Visual Studio Code aus.
Remove-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -ActionOnUnmanage DeleteAll
Sie werden aufgefordert, zu bestätigen, dass Sie den Stapel und die angegebenen Ressourcen löschen möchten.
Öffnen Sie nach Abschluss des Löschvorgangs das Azure-Portal, und stellen Sie sicher, dass der Bereitstellungsstapel und die zugehörigen Ressourcen entfernt wurden.
Um die in diesen Übungen verwendete Ressourcengruppe zu löschen, führen Sie den folgenden Befehl über das Terminal in Visual Studio Code aus.
Remove-AzResourceGroup ` -Name rg-depositsApplication
Sie werden aufgefordert, zu bestätigen, dass Sie die Ressourcengruppe entfernen möchten. Drücken Sie „Y“ und dann die EINGABETASTE.
Kehren Sie zum Azure-Portal zurück.
Wählen Sie im linken Bereich Ressourcengruppen aus.
Stellen Sie sicher, dass rg-depositsApplication nicht mehr verfügbar ist.