Mettre à jour les ressources dans une pile de déploiement
L’évolution d’une application s’accompagne de celle de ses ressources. Comment mettre à jour une pile de déploiement et ses ressources managées lorsque de nouveaux services et fonctionnalités sont ajoutés ? Quelles situations nécessitent la mise à jour d'une pile de déploiement ?
L’application de dépôts subit un changement important. Les propriétés des ressources Azure doivent être modifiées, de nouvelles ressources doivent être ajoutées, et des ressources existantes doivent être supprimées. Vous devez en apprendre davantage sur le moment où mettre à jour une pile de déploiement et sur la manière de mettre à jour des ressources managées existantes.
Dans cette unité, vous allez découvrir les situations qui imposent une mise à jour d’une pile de déploiement. Vous allez également apprendre à modifier les ressources managées par une pile de déploiement.
Remarque
Les commandes de cette unité sont présentées pour illustrer les concepts. N’exécutez pas encore les commandes. Vous allez bientôt mettre en pratique ce que vous apprenez ici.
Mise à jour d’une pile de déploiement
Au fil du temps, les ressources qui composent une application changent. Les propriétés des ressources existantes doivent être modifiées, des ressources doivent être ajoutées ou supprimées, ou une application doit intégrer des ressources déployées via d’autres approches. Une pile de déploiement peut être mise à jour pour implémenter les modifications dans nos applications. Quelles situations nécessitent la mise à jour d'une pile de déploiement ?
- Modification de la propriété d’une ressource managée
- Ajout d’une ressource existante en tant que ressource managée
- Ajout d’une nouvelle ressource managée
- Détachement d’une ressource managée
- Suppression d’une ressource managée
Comment ces modifications sont-elles implémentées ? Comme nous l’avons vu dans le dernier module, les piles de déploiement gèrent des ressources qui sont définies dans un fichier Bicep, un modèle ARM JSON ou une spécification de modèle. Lorsque vous créez une pile de déploiement, vous référencez l’un de ces fichiers pour déployer vos ressources. Il en va de même pour la mise à jour d’une pile de déploiement. Pour mettre à jour les ressources managées par une pile de déploiement, vous devez mettre à jour le fichier de modèle sous-jacent.
Mise à jour d’une ressource managée existante
La modification des ressources déployées dans Azure est une pratique courante. Il se peut par exemple que vous deviez modifier une valeur de propriété d’une ressource pour incorporer une nouvelle fonctionnalité ou améliorer ses fonctionnalités. Si vous utilisez actuellement l’infrastructure en tant que code pour définir vos ressources dans Azure, vous savez comment modifier les propriétés d’une ressource. Avec les piles de déploiement, le processus est identique. Apportez la modification à la ressource dans votre fichier Bicep, et exécutez une opération de mise à jour sur la pile.
Prenons le fichier Bicep du dernier module. Notre fichier définit un plan App Service, une application web, et un serveur et une base de données Azure SQL. Nous souhaitons modifier la référence SKU du plan App Service de la référence SKU F1
vers la référence SKU S1
.
// 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'
// 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'
}
}
Avec le fichier Bicep modifié, nous souhaitons mettre à jour la pile de déploiement afin que les modifications apportées aux ressources du fichier Bicep soient implémentées.
Pour mettre à jour une pile de déploiement à l’aide d’Azure CLI, utilisez la commande az stack group create
.
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Une fois la mise à jour de la pile terminée, nous souhaitons vérifier que le plan App Service s’exécute maintenant sur la référence SKU S1
.
Pour afficher la configuration du plan App Service à l’aide d’Azure CLI, utilisez la commande az appservice plan show
.
az appservice plan show \
--name plan-deposits
--resource-group rg-depositsApplication
La sortie nous montre que la mise à jour a réussi et que le plan App Service s’exécute désormais sur la référence SKU S1
.
"sku": {
"capacity": 1,
"family": "S",
"name": "S1",
"size": "S1",
"tier": "Standard"
},
Avec le fichier Bicep modifié, nous souhaitons mettre à jour la pile de déploiement afin que les modifications apportées aux ressources du fichier Bicep soient implémentées.
Pour mettre à jour une pile de déploiement à l’aide d’Azure PowerShell, utilisez la commande Set-AzResourceGroupDeploymentStack
.
Set-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Une fois la mise à jour de la pile terminée, nous souhaitons vérifier que le plan App Service s’exécute maintenant sur la référence SKU S1
.
Pour afficher la configuration du plan App Service à l’aide d’Azure PowerShell, utilisez la commande Get-AzAppServicePlan
.
$plan = Get-AzAppServicePlan `
-ResourceGroupName rg-depositsApplication `
-Name plan-deposits
$sku = $plan.Sku
$sku
La sortie nous montre que la mise à jour a réussi et que le plan App Service s’exécute désormais sur la référence SKU S1
.
Name : S1
Tier : Standard
Size : S1
Family : S
Capacity : 1