Updaten von Ressourcen in einem Bereitstellungsstapel

Abgeschlossen

Wenn eine Anwendung weiterentwickelt wird, werden auch die Ressourcen weiterentwickelt. Wie können ein Bereitstellungsstapel und die zugehörigen verwalteten Ressourcen aktualisiert werden, wenn neue Dienste und Features hinzugefügt werden? In welchen Situationen müssen Sie einen Bereitstellungsstapel aktualisieren?

Die Depotanwendung wird erheblich verändert. Sie müssen Azure-Ressourceneigenschaften ändern, neue Ressourcen hinzufügen und vorhandene Ressourcen entfernen. Aus diesem Grund müssen Sie sich darüber informieren, wann ein Bereitstellungsstapel upgedatet wird und wie vorhandene verwaltete Ressourcen upgedatet werden.

In dieser Lerneinheit erfahren Sie, in welchen Situationen ein Update für einen Bereitstellungsstapel erforderlich ist. Außerdem wird erläutert, wie Sie Ressourcen ändern, die von einem Bereitstellungsstapel verwaltet werden.

Hinweis

Die Befehle in dieser Lerneinheit dienen der Veranschaulichung der Konzepte. Führen Sie die Befehle jetzt noch nicht aus. Sie können das Erlernte in Kürze üben.

Aktualisieren eines Bereitstellungsstapels

Im Laufe der Zeit ändern sich die Ressourcen einer Anwendung. Eigenschaften vorhandener Ressourcen müssen geändert werden, Ressourcen müssen hinzugefügt oder gelöscht werden, oder eine Anwendung muss Ressourcen integrieren, die über andere Ansätze bereitgestellt wurden. Ein Bereitstellungsstapel kann upgedatet werden, um die Änderungen in Ihre Anwendungen zu implementieren. In welchen Situationen müssen Sie einen Bereitstellungsstapel aktualisieren?

  • Ändern der Eigenschaft einer verwalteten Ressource
  • Hinzufügen einer vorhandenen Ressource als verwaltete Ressource
  • Hinzufügen einer neuen verwalteten Ressource
  • Trennen einer verwalteten Ressource
  • Löschen einer verwalteten Ressource

Wie werden diese Änderungen implementiert? Wie im letzten Modul erläutert, verwalten Bereitstellungsstapel Ressourcen, die in einer Bicep-Datei, ARM-JSON-Vorlage oder Vorlagenspezifikation definiert sind. Wenn Sie einen Bereitstellungsstapel erstellen, verweisen Sie auf eine dieser Dateien, um Ihre Ressourcen bereitzustellen. Dies gilt auch für das Updaten eines Bereitstellungsstapels. Zum Updaten von Ressourcen, die von einem Bereitstellungsstapel verwaltet werden, updaten Sie die zugrunde liegende Vorlagendatei.

Updaten einer vorhandenen verwalteten Ressource

Es ist üblich, Ihre in Azure bereitgestellten Ressourcen zu ändern. Möglicherweise müssen Sie einen Eigenschaftswert einer Ressource ändern, um ein neues Feature zu integrieren oder seine Funktionalität zu verbessern. Wenn Sie derzeit einen Infrastructure-as-Code-Ansatz zum Definieren Ihrer Ressourcen in Azure verwenden, sind Sie mit dem Ändern der Eigenschaften einer Ressource vertraut. Bei Bereitstellungsstapeln ist der Prozess identisch. Nehmen Sie die Änderung an der Ressource in der Bicep-Datei vor, und führen Sie einen Updatevorgang für den Stapel durch.

Sehen Sie sich die Bicep-Datei aus dem letzten Modul an. Die Datei definiert einen App Service-Plan, eine Web-App, einen Azure SQL-Server und eine Azure SQL-Datenbank. Sie möchten die SKU des App Service-Plans von der SKU F1 in die SKU S1 ändern.

// 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'
  }
}

Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel updaten, damit die an den Ressourcen in der Bicep-Datei vorgenommenen Änderungen implementiert werden.

Verwenden Sie den az stack group create-Befehl, um einen Bereitstellungsstapel mithilfe der Azure CLI zu aktualisieren.

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

Nach Abschluss des Stapelupdates müssen Sie überprüfen, ob der App Service-Plan jetzt über die SKU S1 ausgeführt wird.

Um die Konfiguration des App Service-Plans mithilfe der Azure CLI anzuzeigen, verwenden Sie den az appservice plan show-Befehl.

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

Die Ausgabe gibt an, dass das Update erfolgreich war und der App Service-Plan jetzt über die SKU S1 ausgeführt wird.

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

Mit der geänderten Bicep-Datei können Sie den Bereitstellungsstapel updaten, damit die an den Ressourcen in der Bicep-Datei vorgenommenen Änderungen implementiert werden.

Verwenden Sie den Befehl Set-AzResourceGroupDeploymentStack, um einen Bereitstellungsstapel mit Azure PowerShell zu aktualisieren.

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

Nach Abschluss des Stapelupdates müssen Sie überprüfen, ob der App Service-Plan jetzt über die SKU S1 ausgeführt wird.

Um die Konfiguration des App Service-Plans mithilfe von Azure PowerShell anzuzeigen, verwenden Sie den Get-AzAppServicePlan-Befehl.

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

Die Ausgabe gibt an, dass das Update erfolgreich war und der App Service-Plan jetzt über die SKU S1 ausgeführt wird.

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