Oefening: een implementatiestack bijwerken en verwijderen
U staat op sprint 2 voor de nieuwe stortingsaanvraag. U wilt het bijwerken van de implementatiestack testen door een Azure SQL-database in het Bicep-bestand te definiëren. U wilt controleren of de stack de zojuist gedefinieerde resources beheert.
In deze oefening werkt u het Bicep-bestand bij dat u eerder hebt gemaakt om nieuwe resources op te nemen. U kunt ook de implementatiestack bijwerken en verwijderen waarmee uw resources worden beheerd.
- Werk het Bicep-bestand bij om een Azure SQL-database op te nemen.
- Werk de implementatiestack bij om de nieuwe database te implementeren.
- Valideer de beheerde resources van de implementatiestack.
- Verwijder de implementatiestack en beheerde resources.
- Valideer het verwijderen van de implementatiestack en de beheerde resources.
Het Bicep-bestand bijwerken om de Azure SQL-database op te nemen
Open het bestand main.bicep in Visual Studio Code.
Voeg de gemarkeerde code toe aan 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)}' // Variables @description('The name of the app service plan.') var appServicePlanName = 'plan-deposits'
Voeg de volgende code toe aan de onderkant van het bestand:
// 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
Nu het Bicep-bestand is bijgewerkt, willen we de implementatiestack bijwerken, zodat de nieuwe Azure SQL-database als beheerde resource in de omgeving wordt geïmplementeerd.
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.U wordt gevraagd een waarde in te voeren voor
sqlServerAdminUserName
. Maak een naam voor de SQL-serverbeheerder, gevolgd door Enter.U wordt gevraagd een waarde in te voeren voor
sqlServerAdminPassword
. Maak een complex wachtwoord voor de SQL-serverbeheerder, gevolgd door Enter.
Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
Nu het Bicep-bestand is bijgewerkt, willen we de implementatiestack bijwerken, zodat de nieuwe Azure SQL-database als beheerde resource in de omgeving wordt geïmplementeerd.
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
U wordt gevraagd een waarde in te voeren voor
sqlServerAdminUserName
. Maak een naam voor de SQL-serverbeheerder, gevolgd door Enter.U wordt gevraagd een waarde in te voeren voor
sqlServerAdminPassword
. Maak een complex wachtwoord voor de SQL-serverbeheerder, gevolgd door Enter.Wacht tot de updatebewerking is voltooid voordat u verdergaat met de volgende taak.
Controleer de update naar de implementatiestack en de beheerde resources
Nu de update is voltooid, willen we valideren dat de implementatiestack de Azure SQL-database 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
Het resultaat moet bekend lijken op de volgende uitvoer:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"bypassStackOutOfSyncError": null,
"correlationId": ".",
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT2M53.2734284S",
"error": null,
"failedResources": [],
"id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
"location": null,
"name": "stack-deposits",
"outputs": null,
"parameters": {
"sqlServerAdminPassword": {
"reference": null,
"type": "securestring",
"value": ""
},
"sqlServerAdminUserName": {
"reference": null,
"type": "string",
"value": "sqladmin"
}
},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "rg-depositsApplication",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-01-01T00:00:01.000000+00:00",
"createdBy": "depositsapplication@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
"lastModifiedBy": "depositsapplication@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Let op de sectie resources van de uitvoer. We zien nu dat de SQL-server en SQL-database worden vermeld als beheerde resources.
Nu de update is voltooid, willen we valideren dat de implementatiestack de Azure SQL-database 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
Het resultaat moet bekend lijken op de volgende uitvoer:
Id : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name : stack-deposits
ProvisioningState : succeeded
resourcesCleanupAction : detach
resourceGroupsCleanupAction : detach
managementGroupsCleanupAction : detach
CorrelationId : .
DenySettingsMode : none
CreationTime(UTC) : 1/01/2024 0:00:01 AM
DeploymentId : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
/subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq
Parameters :
Name Type Value
======================== ========================= ==========
sqlServerAdminUserName string "sqladmin"
sqlServerAdminPassword securestring ""
Let op de sectie resources van de uitvoer. We zien nu dat de SQL-server en SQL-database worden vermeld als beheerde resources.
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.