Aggiornare le risorse in uno stack di distribuzione
Man mano che un'applicazione si evolve, anche le sue risorse si evolvono. Come si aggiorna uno stack di distribuzione e le relative risorse gestite quando vengono aggiunti nuovi servizi e funzionalità? Quali situazioni richiedono l'aggiornamento di uno stack di distribuzione?
L'applicazione dei depositi sta subendo cambiamenti significativi. È necessario modificare le proprietà delle risorse di Azure, aggiungere nuove risorse e rimuovere le risorse esistenti. È necessario ottenere altre informazioni su quando aggiornare uno stack di distribuzione e come aggiornare le risorse gestite esistenti.
In questa unità vengono fornite informazioni sulle situazioni che richiedono un aggiornamento a uno stack di distribuzione. Si apprenderà anche come modificare le risorse gestite da uno stack di distribuzione.
Nota
I comandi riportati in questa unità vengono illustrati per spiegare i concetti. Non eseguire ancora i comandi. Presto sarà possibile provare quanto appreso.
Aggiornamento di uno stack di distribuzione
Nel corso del tempo, le risorse che costituiscono una modifica dell'applicazione. Le proprietà delle risorse esistenti devono essere modificate, le risorse devono essere aggiunte o eliminate oppure un'applicazione deve integrare le risorse distribuite tramite altri approcci. Uno stack di distribuzione può essere aggiornato per implementare le modifiche nelle applicazioni. Quali situazioni richiedono l'aggiornamento di uno stack di distribuzione?
- Modifica della proprietà di una risorsa gestita
- Aggiunta di una risorsa esistente come risorsa gestita
- Aggiunta di una nuova risorsa gestita
- Scollegamento di una risorsa gestita
- Eliminazione di una risorsa gestita
Come vengono implementate queste modifiche? Come illustrato nell'ultimo modulo, gli stack di distribuzione gestiscono le risorse definite in un file Bicep, in un modello JSON ARM o in una specifica di modello. Quando si crea uno stack di distribuzione, si fa riferimento a uno di questi file per distribuire le risorse. Lo stesso vale per l'aggiornamento di uno stack di distribuzione. Per aggiornare le risorse gestite da uno stack di distribuzione, aggiornare il file modello sottostante.
Aggiornamento di una risorsa gestita esistente
È pratica comune modificare le risorse distribuite in Azure. Potrebbe essere necessario modificare il valore di una proprietà di una risorsa per incorporare una nuova funzionalità o migliorarne le funzionalità. Se attualmente si usa l'infrastruttura come codice per definire le risorse in Azure, si ha familiarità con come modificare le proprietà di una risorsa. Con gli stack di distribuzione, il processo è identico. Apportare la modifica alla risorsa nel file Bicep ed eseguire un'operazione di aggiornamento nello stack.
Si consideri il file Bicep dell'ultimo modulo. Il file definisce un piano di servizio app, un'app Web e un database SQL di Azure. Si vuole modificare lo SKU del piano di servizio app dallo F1
SKU allo S1
SKU.
// 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'
}
}
Dopo aver modificato il file Bicep, si vuole aggiornare lo stack di distribuzione in modo che vengano implementate le modifiche apportate alle risorse nel file Bicep.
Per aggiornare uno stack di distribuzione usando l'interfaccia della riga di comando di Azure, usare il comando 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
Al termine dell'aggiornamento dello stack, si vuole verificare che il piano di servizio app sia ora in esecuzione nello S1
SKU.
Per visualizzare la configurazione del piano di servizio app usando l'interfaccia della riga di comando di Azure, usare il az appservice plan show
comando
az appservice plan show \
--name plan-deposits
--resource-group rg-depositsApplication
L'output mostra che l'aggiornamento è riuscito e che il piano di servizio app è ora in esecuzione nello S1
SKU.
"sku": {
"capacity": 1,
"family": "S",
"name": "S1",
"size": "S1",
"tier": "Standard"
},
Dopo aver modificato il file Bicep, si vuole aggiornare lo stack di distribuzione in modo che vengano implementate le modifiche apportate alle risorse nel file Bicep.
Per aggiornare uno stack di distribuzione con Azure PowerShell, usare il comando Set-AzResourceGroupDeploymentStack
.
Set-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Al termine dell'aggiornamento dello stack, si vuole verificare che il piano di servizio app sia ora in esecuzione nello S1
SKU.
Per visualizzare la configurazione del piano di servizio app con Azure PowerShell, usare il Get-AzAppServicePlan
comando
$plan = Get-AzAppServicePlan `
-ResourceGroupName rg-depositsApplication `
-Name plan-deposits
$sku = $plan.Sku
$sku
L'output mostra che l'aggiornamento è riuscito e che il piano di servizio app è ora in esecuzione nello S1
SKU.
Name : S1
Tier : Standard
Size : S1
Family : S
Capacity : 1