Exercice : mettre à jour et supprimer une pile de déploiement
Vous êtes au sprint 2 pour l’application des nouveaux dépôts. Vous souhaitez tester la mise à jour de la pile de déploiement en définissant une base de données Azure SQL dans le fichier Bicep. Vous voulez vérifier si la pile gère les ressources nouvellement définies.
Dans cet exercice, vous mettez à jour le fichier Bicep que vous avez créé précédemment afin d’y inclure de nouvelles ressources. Vous mettez également à jour et supprimez la pile de déploiement qui gère vos ressources.
- Mettez à jour le fichier Bicep pour inclure une base de données Azure SQL.
- Mettez à jour la pile de déploiement pour déployer la nouvelle base de données.
- Validez les ressources managées de la pile de déploiement.
- Supprimez la pile de déploiement et les ressources managées.
- Validez la suppression de la pile de déploiement et des ressources managées.
Mettez à jour le fichier Bicep pour inclure la base de données Azure SQL
Ouvrez le fichier main.bicep dans Visual Studio Code.
Ajoutez le code mis en surbrillance à la section paramètres de votre fichier :
// 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'
Ajoutez le code suivant au bas du fichier :
// 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' } }
Enregistrez les modifications du fichier.
Mettre à jour la pile de déploiement
Une fois le fichier Bicep mis à jour, nous voulons mettre à jour la pile de déploiement afin que la nouvelle base de données Azure SQL soit déployée dans l’environnement en tant que ressource managée.
Pour mettre à jour la pile de déploiement, exécutez la commande suivante à partir du terminal dans 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
Vous recevez un message qui indique que la pile existe déjà dans l’abonnement actif. Si la valeur de l’action sur un paramètre non géré a changé, l’avertissement vous signale de nouvelles valeurs. Appuyez sur
y
, suivi de « Entrée ».Vous êtes invité à entrer une valeur pour
sqlServerAdminUserName
. Créez un nom pour l’administrateur du serveur SQL, suivi de « Entrée. »Vous êtes invité à entrer une valeur pour
sqlServerAdminPassword
. Créez un mot de passe complexe pour l’administrateur du serveur SQL, suivi de « Entrée. »
Attendez que l’opération de mise à jour se termine avant de passer à la tâche suivante.
Une fois le fichier Bicep mis à jour, nous voulons mettre à jour la pile de déploiement afin que la nouvelle base de données Azure SQL soit déployée dans l’environnement en tant que ressource managée.
Pour mettre à jour la pile de déploiement, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DeleteAll ` -DenySettingsMode none
Vous êtes invité à entrer une valeur pour
sqlServerAdminUserName
. Créez un nom pour l’administrateur du serveur SQL, suivi de « Entrée. »Vous êtes invité à entrer une valeur pour
sqlServerAdminPassword
. Créez un mot de passe complexe pour l’administrateur du serveur SQL, suivi de « Entrée. »Attendez que l’opération de mise à jour se termine avant de passer à la tâche suivante.
Vérifiez la mise à jour de la pile de déploiement et les ressources managées
Une fois la mise à jour terminée, nous souhaitons vérifier que la pile de déploiement gère la base de données Azure SQL. Pour afficher la configuration de la pile de déploiement, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Le résultat devrait ressembler à la sortie suivante :
{
"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"
}
Notez la section ressources de la sortie. Nous voyons maintenant le serveur SQL et la base de données SQL répertoriés en tant que ressources managées.
Une fois la mise à jour terminée, nous souhaitons vérifier que la pile de déploiement gère la base de données Azure SQL. Pour afficher la configuration de la pile de déploiement, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Le résultat devrait ressembler à la sortie suivante :
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 ""
Notez la section ressources de la sortie. Nous voyons maintenant le serveur SQL et la base de données SQL répertoriés en tant que ressources managées.
Suppression la pile de déploiement
Pour supprimer la pile de déploiement et ses ressources managées, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
az stack group delete \ --name stack-deposits \ --resource-group rg-depositsApplication \ --action-on-unmanage deleteAll
Vous êtes invité à confirmer si vous souhaitez supprimer la pile et les ressources spécifiées.
Une fois l’opération de suppression terminée, ouvrez le portail Azure et vérifiez que la pile de déploiement et ses ressources sont bien supprimées.
Pour supprimer le groupe de ressources utilisé dans ces exercices, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
az group delete \ -name rg-depositsApplication
Vous êtes invité à confirmer si vous souhaitez supprimer le groupe de ressources. Appuyez sur « Y », suivi de « Entrée ».
Pour supprimer la pile de déploiement et ses ressources managées, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
Remove-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -ActionOnUnmanage DeleteAll
Vous êtes invité à confirmer si vous souhaitez supprimer la pile et les ressources spécifiées.
Une fois l’opération de suppression terminée, ouvrez le portail Azure et vérifiez que la pile de déploiement et ses ressources sont bien supprimées.
Pour supprimer le groupe de ressources utilisé dans ces exercices, exécutez la commande suivante à partir du terminal dans Visual Studio Code.
Remove-AzResourceGroup ` -Name rg-depositsApplication
Vous êtes invité à confirmer si vous souhaitez supprimer le groupe de ressources. Appuyez sur « Y », suivi de « Entrée ».