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?
È in corso una significativa modifica dell'applicazione dei depositi. È 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 l’aggiornamento di 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
Le risorse che costituiscono un'applicazione cambiano nel tempo. È necessario modificare le proprietà delle risorse esistenti, aggiungere o eliminare risorse oppure usare un'applicazione per integrare le risorse distribuite tramite altri approcci. È possibile aggiornare uno stack di distribuzione per implementare le modifiche nelle applicazioni. Quali situazioni richiedono l'aggiornamento di uno stack di distribuzione?
- Modificare la proprietà di una risorsa gestita
- Aggiungere una risorsa esistente come risorsa gestita
- Aggiungere una nuova risorsa gestita
- Scollegare una risorsa gestita
- Eliminare 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, è necessario aggiornare il file del modello sottostante.
Aggiornare una risorsa gestita esistente
È pratica comune modificare le risorse distribuite in Azure. È talvolta necessario modificare il valore di una proprietà di una risorsa per incorporare una nuova funzionalità o migliorarne il funzionamento. Se attualmente si usa l'infrastruttura come codice per definire le risorse in Azure, si ha familiarità con le procedure per la modifica delle 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'ultima unità. Il file definisce un piano di servizio app, un'app Web e un server e database di Azure SQL. Si vuole modificare lo SKU del piano di servizio app dallo SKU F1
allo 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'
}
}
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 SKU S1
.
Per visualizzare la configurazione del piano di servizio app tramite l'interfaccia della riga di comando di Azure, usare il comando az appservice plan show
az appservice plan show \
--name plan-deposits
--resource-group rg-depositsApplication
L'output mostra che l'aggiornamento è stato completato e che il piano di servizio app è ora in esecuzione nello SKU S1
.
"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 SKU S1
.
Per visualizzare la configurazione del piano di servizio app tramite Azure PowerShell, usare il comando Get-AzAppServicePlan
$plan = Get-AzAppServicePlan `
-ResourceGroupName rg-depositsApplication `
-Name plan-deposits
$sku = $plan.Sku
$sku
L'output mostra che l'aggiornamento è stato completato e che il piano di servizio app è ora in esecuzione nello SKU S1
.
Name : S1
Tier : Standard
Size : S1
Family : S
Capacity : 1