Oefening: beheerde resources loskoppelen en verwijderen uit een implementatiestack
Sprint 3 voor de nieuwe stortingsaanvraag komt tot een einde. Het stortingsteam heeft gevraagd dat u de Log Analytics-werkruimte en het Application Insights-exemplaar loskoppelt van de implementatiestack. Deze resources moeten blijven bestaan in Azure. Daarnaast hebben ze gevraagd dat de Azure SQL-server en -database worden verwijderd uit de implementatiestack en Azure.
In deze oefening ontkoppelt en verwijdert u Azure-resources uit de implementatiestack die niet meer nodig zijn voor de stortingstoepassing. U begint met het loskoppelen van resources uit de implementatiestack die in Azure moeten blijven bestaan. Vervolgens verwijdert u resources uit de implementatiestack die niet meer nodig zijn. Ten slotte verwijdert u de implementatiestack, de beheerde resources en de resourcegroep.
Tijdens het proces gaat u
- Het Bicep-bestand wijzigen om de Log Analytics-werkruimte en het Application Insights-exemplaar te verwijderen
- De implementatiestack bijwerken om de beheerde resources los te koppelen
- De beheerde resources van de implementatiestack en de losgekoppelde resources valideren
- Het Bicep-bestand wijzigen om de Azure SQL-server en -database te verwijderen
- De implementatiestack bijwerken om de beheerde resources te verwijderen
- De beheerde resources van de implementatiestack en de verwijderde resources valideren
- Verwijder de implementatiestack en beheerde resources.
- Valideer het verwijderen van de implementatiestack en de beheerde resources.
Het Bicep-bestand wijzigen om de Log Analytics-werkruimte en het Application Insights-exemplaar los te koppelen
Het stortingsteam heeft gevraagd om de Log Analytics-werkruimte en het Application Insights-exemplaar los te koppelen van de implementatiestack. Ze hebben ook gevraagd of de resources blijven bestaan in Azure. We beginnen met het wijzigen van het Bicep-bestand.
Open het bestand main.bicep in Visual Studio Code.
Verwijder de gemarkeerde code uit de sectie variabelen van uw bestand:
// 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'
Verwijder de gemarkeerde code uit de sectie resources van het bestand:
// 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 } }
Sla de wijzigingen in het bestand op.
De implementatiestack bijwerken om de beheerde resources los te koppelen
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de Log Analytics-werkruimte en het Application Insights-exemplaar worden losgekoppeld van de stack. We gebruiken --action-on-unmanage detachAll
dit resultaat.
Als u de implementatiestack wilt bijwerken, voert u de volgende opdracht uit vanuit de terminal 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
U ontvangt een bericht waarin staat dat de stack al bestaat in het huidige abonnement. Als de waarde van de actie voor onbeheerde parameter is gewijzigd, wordt u gewaarschuwd voor de nieuwe waarden. Druk op
y
, gevolgd door Enter.
Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de Log Analytics-werkruimte en het Application Insights-exemplaar worden losgekoppeld van de stack. We gebruiken ActionOnUnmanage DetachAll
dit resultaat.
Als u de implementatiestack wilt bijwerken, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DetachAll ` -DenySettingsMode none
Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
De beheerde resources van de implementatiestack en de losgekoppelde resources valideren
Nu de update is voltooid, willen we valideren dat de implementatiestack de Log Analytics-werkruimte en het Application Insights-exemplaar niet meer beheert.
Als u de configuratie van de implementatiestack wilt weergeven, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
az stack group show \ --resource-group rg-depositsApplication \ --name stack-deposits
Let op de
actionOnUnmanage
sectie van de uitvoer. De waarden zijn allemaal ingesteld opdetach
. Dit resultaat is omdat u de update van de implementatiestack hebt uitgevoerd met de--action-on-unmanage detachAll
."actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "detach" },
Bekijk nu de sectie resources van de uitvoer. De Log Analytics-werkruimte en het Application Insights-exemplaar worden niet meer als beheerde resources weergegeven.
"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" } ],
Nu de update is voltooid, willen we valideren dat de implementatiestack de Log Analytics-werkruimte en het Application Insights-exemplaar niet meer beheert.
Als u de configuratie van de implementatiestack wilt weergeven, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Get-AzResourceGroupDeploymentStack ` -ResourceGroupName rg-depositsApplication ` -Name stack-deposits
Let op de waarden voor
resourcesCleanupAction
,resourceGroupsCleanupAction
enmanagementGroupsCleanupAction
. De waarden zijn allemaal ingesteld opdetach
. Dit resultaat is omdat u de update van de implementatiestack hebt uitgevoerd met de-ActionOnUnmanage DetachAll
.resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
Bekijk nu de sectie resources van de uitvoer. De Log Analytics-werkruimte en het Application Insights-exemplaar worden niet meer als beheerde resources weergegeven.
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
We gaan onze implementatiestack valideren in Azure Portal.
Ga naar de Azure Portal.
Selecteer Resourcegroepen in het linkerdeelvenster.
Selecteer rg-depositsApplication.
Vouw indien nodig het instellingenmenu uit.
Selecteer Implementatiestacks.
Selecteer stapeldeposito's.
Controleer of u vier beheerde resources en twee losgekoppelde resources (Log Analytics en Application Insights) hebt.
Het Bicep-bestand wijzigen om de Azure SQL-server en -database los te koppelen en te verwijderen
Het stortingsteam heeft gevraagd om de Azure SQL-server en -database los te maken en te verwijderen uit de implementatiestack en Azure. We beginnen met het wijzigen van het Bicep-bestand.
Open het bestand main.bicep opnieuw in Visual Studio Code.
Verwijder de gemarkeerde code uit de sectie parameters van uw bestand:
// 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)}'
Verwijder de gemarkeerde code uit de sectie resources van het bestand:
// 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' } }
Sla de wijzigingen in het bestand op.
De implementatiestack bijwerken om de beheerde resources te verwijderen
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de Azure SQL-server en -database worden losgekoppeld van de stack en worden verwijderd uit Azure. We gebruiken --action-on-unmanage deleteAll
dit resultaat. Met deze actie worden ook de Log Analytics-werkruimte en het Application Insights-exemplaar verwijderd dat in de laatste sectie is losgekoppeld.
Als u de implementatiestack wilt bijwerken, voert u de volgende opdracht uit vanuit de terminal 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
U ontvangt een bericht waarin staat dat de stack al bestaat in het huidige abonnement. Als de waarde van de actie voor onbeheerde parameter is gewijzigd, wordt u gewaarschuwd voor de nieuwe waarden. Druk op
y
, gevolgd door Enter.Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de Azure SQL-server en -database worden losgekoppeld van de stack en worden verwijderd uit Azure. We gebruiken -ActionOnUnmanage DeleteAll
dit om dit te bereiken. Met deze actie worden ook de Log Analytics-werkruimte en het Application Insights-exemplaar verwijderd dat in de laatste sectie is losgekoppeld.
Als u de implementatiestack wilt bijwerken, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DeleteAll ` -DenySettingsMode none
Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
De beheerde resources van de implementatiestack valideren
Nu de update is voltooid, willen we valideren dat de implementatiestack de Log Analytics-werkruimte, het Application Insights-exemplaar en de Azure SQL-server en -database niet meer beheert. We willen ook controleren of de resources uit Azure worden verwijderd.
Als u de configuratie van de implementatiestack wilt weergeven, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
az stack group show \ --resource-group rg-depositsApplication \ --name stack-deposits
Let op de
actionOnUnmanage
sectie van de uitvoer. De waarden zijn allemaal ingesteld opdelete
. Dit resultaat is omdat u de update van de implementatiestack hebt uitgevoerd met de--action-on-unmanage deleteAll
."actionOnUnmanage": { "managementGroups": "delete", "resourceGroups": "delete", "resources": "delete" },
Bekijk nu de sectie resources van de uitvoer. De Azure SQL-server en -database worden niet meer als beheerde resources weergegeven.
"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" } ],
Nu de update is voltooid, willen we valideren dat de implementatiestack de Log Analytics-werkruimte, het Application Insights-exemplaar en de Azure SQL-server en -database niet meer beheert. We willen ook controleren of de resources uit Azure worden verwijderd.
Als u de configuratie van de implementatiestack wilt weergeven, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Get-AzResourceGroupDeploymentStack ` -ResourceGroupName rg-depositsApplication ` -Name stack-deposits
Let op de waarden voor
resourcesCleanupAction
,resourceGroupsCleanupAction
enmanagementGroupsCleanupAction
. De waarden zijn allemaal ingesteld opdelete
. Dit resultaat is omdat u de update van de implementatiestack hebt uitgevoerd met de-ActionOnUnmanage DeleteAll
.resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
Bekijk nu de sectie resources van de uitvoer. De Azure SQL-server en -database worden niet meer als beheerde resources weergegeven.
Resources : /subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits /subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm
Ga terug naar de Azure-portal.
Selecteer Resourcegroepen in het linkerdeelvenster.
Selecteer rg-depositsApplication.
Vouw indien nodig het instellingenmenu uit.
Selecteer Implementatiestacks.
Selecteer stapeldeposito's.
Controleer of het App Service-plan en de App Service nog steeds bestaan als beheerde resources en of onze andere resources worden verwijderd.
De implementatiestack verwijderen
Als u de implementatiestack en de bijbehorende beheerde resources wilt verwijderen, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
az stack group delete \ --name stack-deposits \ --resource-group rg-depositsApplication \ --action-on-unmanage deleteAll
U wordt gevraagd om te bevestigen of u de stack en de opgegeven resources wilt verwijderen.
Nadat de verwijderbewerking is voltooid, opent u Azure Portal en controleert u of de implementatiestack en de bijbehorende resources zijn verwijderd.
Als u de resourcegroep wilt verwijderen die in deze oefeningen wordt gebruikt, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
az group delete \ -name rg-depositsApplication
U wordt gevraagd om te bevestigen of u de resourcegroep wilt verwijderen. Druk op Y, gevolgd door Enter.
Als u de implementatiestack en de bijbehorende beheerde resources wilt verwijderen, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Remove-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -ActionOnUnmanage DeleteAll
U wordt gevraagd om te bevestigen of u de stack en de opgegeven resources wilt verwijderen.
Nadat de verwijderbewerking is voltooid, opent u Azure Portal en controleert u of de implementatiestack en de bijbehorende resources zijn verwijderd.
Als u de resourcegroep wilt verwijderen die in deze oefeningen wordt gebruikt, voert u de volgende opdracht uit vanuit de terminal in Visual Studio Code.
Remove-AzResourceGroup ` -Name rg-depositsApplication
U wordt gevraagd om te bevestigen of u de resourcegroep wilt verwijderen. Druk op Y, gevolgd door Enter.
Ga terug naar de Azure-portal.
Selecteer Resourcegroepen in het linkerdeelvenster.
Controleer of de rg-depositsApplication niet meer bestaat.