Bereitstellen von Vorlagen in verschiedenen Bereichen

Abgeschlossen

Sie verstehen nun die verschiedenen Bereiche, in denen Sie Ressourcen bereitstellen können. In dieser Lerneinheit erfahren Sie, wie Sie mit dem Schreiben von Bicep-Dateien für die Bereitstellung in diesen Bereichen beginnen.

Angeben des Zielbereichs für eine Bicep-Datei

Bicep muss den Bereich kennen, in dem eine Datei bereitgestellt wird. Diese Informationen sind wichtig, da Bicep sicherstellen muss, dass die Ressourcen, die Sie bereitstellen, für den von Ihnen verwendeten Bereich gültig sind. Die Bicep-Erweiterung für Visual Studio Code warnt Sie beispielsweise, wenn Sie versuchen, eine Ressource in einem nicht unterstützten Bereich zu definieren.

Verwenden Sie das Schlüsselwort targetScope, um Bicep mitzuteilen, dass sich die Ressourcen in der Datei auf einen bestimmten Bereich beziehen. Hier sehen Sie ein Beispiel für eine Bicep-Datei, die Ressourcen im Verwaltungsgruppenbereich bereitstellt:

targetScope = 'managementGroup'

resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2024-05-01' = {
  // ...
}

Beachten Sie, dass Sie Bicep mitteilen, die Ressourcen im Bereich einer Verwaltungsgruppe bereitzustellen, aber Sie geben nicht an, in welcher Verwaltungsgruppe. Wenn Sie die Vorlage bereitstellen, teilen Sie Bicep mit, in welcher Verwaltungsgruppe Sie die Ressourcen bereitstellen möchten. Die Azure CLI und Azure PowerShell-Cmdlets stellen Argumente bereit, um diese Informationen anzugeben.

Sie können targetScope für Ihre Datei auf resourceGroup, subscription, managementGroup oder tenant festlegen. Wenn Sie keinen Zielbereich angeben, geht Bicep vom resourceGroup-Bereich aus.

Erstellen von Ressourcengruppe

Da Sie nun wissen, wie Bereitstellungen in verschiedenen Bereichen erstellt werden, versuchen Sie, dieses Verständnis auf die Erstellung einer Ressourcengruppe anzuwenden, bei der es sich um eine Ressource im Abonnementbereich handelt:

targetScope = 'subscription'

resource resourceGroup 'Microsoft.Resources/resourceGroups@2024-07-01' = {
  name: 'example-resource-group'
  location: 'westus'
}

Beachten Sie in diesem Beispiel, dass die Bicep-Datei über einen targetScope von subscription verfügt. Dies bedeutet, dass Bicep alle Ressourcen in der Datei standardmäßig als im Abonnementbereich betrachtet.

Hinweis

Später in diesem Modul erfahren Sie, wie Sie Bicep zum Erstellen von Azure-Abonnements und -Verwaltungsgruppen verwenden.

Übermitteln einer Bereitstellung

Wenn Sie eine Bereitstellung initiieren, müssen Sie Azure mitteilen, in welchem Bereich Sie sie bereitstellen möchten. Dies bedeutet, dass Sie für jeden Bereitstellungsbereich einen anderen Azure CLI-Befehl verwenden, wie hier gezeigt:

So stellen Sie in diesem Bereich bereit: Führen Sie dann den folgenden Azure CLI-Befehl aus:
Resource group az deployment group create
Subscription az deployment sub create
Verwaltungsgruppe az deployment mg create
Tenant az deployment tenant create

Wenn Sie eine Bereitstellung initiieren, müssen Sie Azure mitteilen, in welchem Bereich Sie sie bereitstellen möchten. Dies bedeutet, dass Sie für jeden Bereitstellungsbereich ein anderes PowerShell-Cmdlet verwenden, wie hier gezeigt:

So stellen Sie in diesem Bereich bereit: Verwenden Sie dieses PowerShell-Cmdlet:
Resource group New-AzResourceGroupDeployment
Subscription New-AzSubscriptionDeployment
Verwaltungsgruppe New-AzManagementGroupDeployment
Tenant New-AzTenantDeployment

Azure speichert Metadaten zu jeder Bereitstellung. Im Gegensatz zu Bereitstellungen im Ressourcengruppenbereich gibt es einige Informationen, die Sie bei der Bereitstellung in anderen Bereichen bereitstellen müssen, damit Azure die Metadaten ordnungsgemäß speichern kann:

  • Standort: Die Bereitstellungsmetadaten müssen an einem von Ihnen angegebenen Standort gespeichert werden. Sie müssen keinen Speicherort für Ressourcengruppengruppenbereitstellungen angeben, da die Bereitstellungsmetadaten denselben Speicherort wie die Ressourcengruppe verwenden. Wenn Sie jedoch eine Bereitstellung im Abonnement-, Verwaltungsgruppen- oder Mandantenbereich erstellen, müssen Sie die Azure-Region angeben, in der die Bereitstellungsmetadaten gespeichert werden. Die Ressourcen für Ihre Bereitstellung in diesen Bereichen werden nicht immer an dem Speicherort erstellt, den Sie für die Metadaten angegeben haben.

  • Name: Alle Bereitstellungen in Azure haben einen Namen. Sie können Informationen zu einer Bereitstellung aus Azure abrufen, indem Sie deren Namen verwenden. Wenn Sie die Azure CLI oder Azure PowerShell zum Übermitteln einer Bereitstellung verwenden, müssen Sie den Namen nicht angeben. Wenn Sie dies nicht tun, wird der Dateiname der Vorlagendatei jedoch als Bereitstellungsname verwendet.

Die Kombination aus Bereich, Standort und Name der Bereitstellung muss eindeutig sein. Nehmen wir beispielsweise an, Sie erstellen eine Abonnementbereitstellung mit dem Namen my-deployment und verwenden den Standort USA, Osten, um die Metadaten zu speichern. Sie können keine weitere Bereitstellung für dasselbe Abonnement mit dem Namen my-deployment erstellen, auch wenn sie sich an einem anderen Standort wie Europa, Westen befindet. Wenn Sie eine andere Bereitstellung namens my-deployment in USA, Osten erstellen, wird die vorhandene Bereitstellung überschrieben.