Cvičení – odpojení a odstranění spravovaných prostředků ze zásobníku nasazení
Blíží se konec sprintu 3 pro novou aplikaci pro vklady. Tým záloh požadoval odpojení pracovního prostoru služby Log Analytics a instance Application Insights ze zásobníku nasazení. Tyto prostředky musí v Azure nadále existovat. Kromě toho požadovali, aby se server a databáze Azure SQL odstranily ze zásobníku nasazení a Azure.
V tomto cvičení odpojte a odstraníte prostředky Azure ze zásobníku nasazení, které už pro aplikaci vkladů nepotřebujete. Začnete odpojením prostředků ze zásobníku nasazení, které musí v Azure nadále existovat. Potom odstraníte prostředky ze zásobníku nasazení, které už nepotřebujete. Nakonec odstraníte zásobník nasazení, jeho spravované prostředky a skupinu prostředků.
Během tohoto procesu budete
- Úprava souboru Bicep pro odebrání pracovního prostoru služby Log Analytics a instance Application Insights
- Aktualizace zásobníku nasazení pro odpojení spravovaných prostředků
- Ověření spravovaných prostředků zásobníku nasazení a odpojených prostředků
- Úprava souboru Bicep pro odebrání serveru a databáze Azure SQL
- Aktualizace zásobníku nasazení pro odstranění spravovaných prostředků
- Ověření spravovaných prostředků zásobníku nasazení a odstraněných prostředků
- Odstraňte zásobník nasazení a spravované prostředky.
- Ověřte odstranění zásobníku nasazení a spravovaných prostředků.
Úprava souboru Bicep pro odpojení pracovního prostoru služby Log Analytics a instance Application Insights
Tým záloh požádal, abychom odpojili pracovní prostor služby Log Analytics a instanci Application Insights ze zásobníku nasazení. Také požádali o to, aby prostředky v Azure nadále existovaly. Začneme úpravou souboru Bicep.
Otevřete soubor main.bicep v editoru Visual Studio Code.
Odeberte zvýrazněný kód z oddílu proměnných souboru:
// 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'
Odeberte zvýrazněný kód z oddílu prostředků souboru:
// 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 } }
Uložte změny souboru.
Aktualizace zásobníku nasazení pro odpojení spravovaných prostředků
Při změně souboru Bicep chceme aktualizovat zásobník nasazení tak, aby se pracovní prostor služby Log Analytics a instance Application Insights odpojily ze zásobníku. K dosažení tohoto výsledku používáme --action-on-unmanage detachAll
.
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 detachAll \ --deny-settings-mode none
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.
Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.
Při změně souboru Bicep chceme aktualizovat zásobník nasazení tak, aby se pracovní prostor služby Log Analytics a instance Application Insights odpojily ze zásobníku. K dosažení tohoto výsledku používáme ActionOnUnmanage DetachAll
.
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 DetachAll ` -DenySettingsMode none
Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.
Ověření spravovaných prostředků zásobníku nasazení a odpojených prostředků
Po dokončení aktualizace chceme ověřit, že zásobník nasazení už nespravuje pracovní prostor služby Log Analytics a instanci Application Insights.
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šimněte si
actionOnUnmanage
části výstupu. Všechny hodnoty jsou nastaveny nadetach
. Tento výsledek je způsoben tím, že jste provedli aktualizaci zásobníku nasazení s nástrojem--action-on-unmanage detachAll
."actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "detach" },
Teď se podívejte na část prostředků výstupu. Pracovní prostor služby Log Analytics a instanci Application Insights už nevidíme jako spravované prostředky.
"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" } ],
Po dokončení aktualizace chceme ověřit, že zásobník nasazení už nespravuje pracovní prostor služby Log Analytics a instanci Application Insights.
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šimněte si hodnot pro
resourcesCleanupAction
,resourceGroupsCleanupAction
amanagementGroupsCleanupAction
. Všechny hodnoty jsou nastaveny nadetach
. Tento výsledek je způsoben tím, že jste provedli aktualizaci zásobníku nasazení s nástrojem-ActionOnUnmanage DetachAll
.resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
Teď se podívejte na část prostředků výstupu. Pracovní prostor služby Log Analytics a instanci Application Insights už nevidíme jako spravované prostředky.
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
Pojďme ověřit náš zásobník nasazení na webu Azure Portal.
Přejděte na Azure Portal.
Na levém panelu vyberte Skupiny prostředků.
Vyberte rg-depositsApplication.
V případě potřeby rozbalte nabídku nastavení .
Vyberte Zásobníky nasazení.
Vyberte zásobníkové vklady.
Ověřte, že máte čtyři spravované prostředky a dva odpojené prostředky (Log Analytics a Application Insights).
Úprava souboru Bicep pro odpojení a odstranění serveru a databáze Azure SQL
Tým vkladů požádal, abychom odpojili a odstranili server a databázi Azure SQL ze zásobníku nasazení a Azure. Začneme úpravou souboru Bicep.
Znovu otevřete soubor main.bicep v editoru Visual Studio Code.
Odeberte zvýrazněný kód z 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)}'
Odeberte zvýrazněný kód z oddílu prostředků souboru:
// 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' } }
Uložte změny souboru.
Aktualizace zásobníku nasazení pro odstranění spravovaných prostředků
S upraveným souborem Bicep chceme aktualizovat zásobník nasazení tak, aby se server Azure SQL a databáze odpojily od zásobníku a odstranily z Azure. K dosažení tohoto výsledku používáme --action-on-unmanage deleteAll
. Tato akce také odstraní pracovní prostor služby Log Analytics a instanci Application Insights, které jsme odpojili v poslední části.
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
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.Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.
S upraveným souborem Bicep chceme aktualizovat zásobník nasazení tak, aby se server Azure SQL a databáze odpojily od zásobníku a odstranily z Azure. Toho dosáhneme -ActionOnUnmanage DeleteAll
. Tato akce také odstraní pracovní prostor služby Log Analytics a instanci Application Insights, které jsme odpojili v poslední části.
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
Než přejdete k dalšímu úkolu, počkejte na dokončení operace aktualizace.
Ověření spravovaných prostředků zásobníku nasazení
Po dokončení aktualizace chceme ověřit, že zásobník nasazení už nespravuje pracovní prostor služby Log Analytics, instanci Application Insights a server a databázi Azure SQL. Chceme také ověřit, že se prostředky odstraní z Azure.
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šimněte si
actionOnUnmanage
části výstupu. Všechny hodnoty jsou nastaveny nadelete
. Tento výsledek je způsoben tím, že jste provedli aktualizaci zásobníku nasazení s nástrojem--action-on-unmanage deleteAll
."actionOnUnmanage": { "managementGroups": "delete", "resourceGroups": "delete", "resources": "delete" },
Teď se podívejte na část prostředků výstupu. Azure SQL Server a databáze se už nezobrazují jako spravované prostředky.
"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" } ],
Po dokončení aktualizace chceme ověřit, že zásobník nasazení už nespravuje pracovní prostor služby Log Analytics, instanci Application Insights a server a databázi Azure SQL. Chceme také ověřit, že se prostředky odstraní z Azure.
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šimněte si hodnot pro
resourcesCleanupAction
,resourceGroupsCleanupAction
amanagementGroupsCleanupAction
. Všechny hodnoty jsou nastaveny nadelete
. Tento výsledek je způsoben tím, že jste provedli aktualizaci zásobníku nasazení s nástrojem-ActionOnUnmanage DeleteAll
.resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
Teď se podívejte na část prostředků výstupu. Azure SQL Server a databáze se už nezobrazují jako spravované prostředky.
Resources : /subscriptions/./resourceGroups/rg-depositsApplication/././serverfarms/plan-deposits /subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-brpdm7iotbwjm
Vraťte se na Azure Portal.
Na levém panelu vyberte Skupiny prostředků.
Vyberte rg-depositsApplication.
V případě potřeby rozbalte nabídku nastavení .
Vyberte Zásobníky nasazení.
Vyberte zásobníkové vklady.
Ověřte, že plán služby App Service a služba App Service stále existují jako spravované prostředky, a naše další prostředky se odstraní.
Odstranění zásobníku nasazení
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
Zobrazí výzvu k potvrzení, jestli chcete odstranit zásobník a zadané prostředky.
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.
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
Zobrazí výzvu k potvrzení, jestli chcete odebrat skupinu prostředků. Stiskněte Y a pak Enter.
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
Zobrazí výzvu k potvrzení, jestli chcete odstranit zásobník a zadané prostředky.
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.
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
Zobrazí výzvu k potvrzení, jestli chcete odebrat skupinu prostředků. Stiskněte Y a pak Enter.
Vraťte se na Azure Portal.
Na levém panelu vyberte Skupiny prostředků.
Ověřte, že aplikace rg-depositsApplication již neexistuje.