Resources in een implementatiestack bijwerken

Voltooid

Naarmate een toepassing zich ontwikkelt, worden de resources ook uitgebreid. Hoe werken we een implementatiestack en de bijbehorende beheerde resources bij wanneer er nieuwe services en functies worden toegevoegd? In welke situaties moeten we een implementatiestack bijwerken?

De aanvraag voor deposito's ondergaat een aanzienlijke wijziging. Azure-resource-eigenschappen moeten worden gewijzigd, nieuwe resources moeten worden toegevoegd en bestaande resources moeten worden verwijderd. U moet meer weten over wanneer u een implementatiestack moet bijwerken en hoe u bestaande beheerde resources bijwerkt.

In deze les leert u welke situaties een update voor een implementatiestack aanroepen. U leert ook hoe u resources wijzigt die worden beheerd door een implementatiestack.

Notitie

De opdrachten in deze les worden weergegeven om concepten te illustreren. Voer de opdrachten nog niet uit. U oefent wat u hier binnenkort leert.

Een implementatiestack bijwerken

Na verloop van tijd veranderen de resources die een toepassing vormen. Eigenschappen van bestaande resources moeten worden gewijzigd, resources moeten worden toegevoegd of verwijderd of een toepassing moet resources integreren die zijn geïmplementeerd via andere methoden. Een implementatiestack kan worden bijgewerkt om de wijzigingen in onze toepassingen te implementeren. In welke situaties moeten we een implementatiestack bijwerken?

  • De eigenschap van een beheerde resource wijzigen
  • Een bestaande resource toevoegen als een beheerde resource
  • Een nieuwe beheerde resource toevoegen
  • Een beheerde resource loskoppelen
  • Een beheerde resource verwijderen

Hoe worden deze wijzigingen geïmplementeerd? Zoals we in de laatste module hebben besproken, beheren implementatiestacks resources die zijn gedefinieerd in een Bicep-bestand, ARM JSON-sjabloon of sjabloonspecificatie. Wanneer u een implementatiestack maakt, verwijst u naar een van deze bestanden om uw resources te implementeren. Hetzelfde geldt voor het bijwerken van een implementatiestack. Werk het onderliggende sjabloonbestand bij om resources bij te werken die worden beheerd door een implementatiestack.

Een bestaande beheerde resource bijwerken

Het is gebruikelijk om uw resources te wijzigen die zijn geïmplementeerd in Azure. Mogelijk moet u een eigenschapswaarde van een resource wijzigen om een nieuwe functie op te nemen of de functionaliteit ervan te verbeteren. Als u momenteel infrastructuur als code gebruikt om uw resources in Azure te definiëren, bent u bekend met het wijzigen van de eigenschappen van een resource. Bij implementatiestacks is het proces identiek. Breng de wijziging aan in de resource in uw Bicep-bestand en voer een updatebewerking uit op de stack.

Laten we eens kijken naar ons Bicep-bestand uit de laatste module. Ons bestand definieert een App Service-plan, een web-app en een Azure SQL-server en -database. We willen de SKU van het App Service-plan wijzigen van de F1 SKU naar de 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'
  }
}

Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de wijzigingen in de resources in het Bicep-bestand worden geïmplementeerd.

Gebruik de az stack group create opdracht om een implementatiestack bij te werken met behulp van Azure CLI.

az stack group create \
    --name stack-deposits \
    --resource-group rg-depositsApplication \
    --template-file ./main.bicep \
    --action-on-unmanage detachAll \
    --deny-settings-mode none

Nadat de stack-update is voltooid, willen we controleren of het App Service-plan nu wordt uitgevoerd op de S1 SKU.

Gebruik de az appservice plan show opdracht om de configuratie van het App Service-plan weer te geven met behulp van Azure CLI

az appservice plan show \
    --name plan-deposits
    --resource-group rg-depositsApplication

In de uitvoer ziet u dat de update is geslaagd en dat het App Service-plan nu wordt uitgevoerd op de S1 SKU.

"sku": {
    "capacity": 1,
    "family": "S",
    "name": "S1",
    "size": "S1",
    "tier": "Standard"
},

Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de wijzigingen in de resources in het Bicep-bestand worden geïmplementeerd.

Als u een implementatiestack wilt bijwerken met behulp van Azure PowerShell, gebruikt u de Set-AzResourceGroupDeploymentStack opdracht.

Set-AzResourceGroupDeploymentStack `
    -Name stack-deposits `
    -ResourceGroupName rg-depositsApplication `
    -TemplateFile ./main.bicep `
    -ActionOnUnmanage DetachAll `
    -DenySettingsMode None

Nadat de stack-update is voltooid, willen we controleren of het App Service-plan nu wordt uitgevoerd op de S1 SKU.

Gebruik de Get-AzAppServicePlan opdracht om de configuratie van het App Service-plan weer te geven met behulp van Azure PowerShell

$plan = Get-AzAppServicePlan `
    -ResourceGroupName rg-depositsApplication `
    -Name plan-deposits
$sku = $plan.Sku
$sku

In de uitvoer ziet u dat de update is geslaagd en dat het App Service-plan nu wordt uitgevoerd op de S1 SKU.

Name         : S1
Tier         : Standard
Size         : S1
Family       : S
Capacity     : 1