Azure-Einbindung von Bereitstellungsstapeln mit der Azure Developer CLI

Die Azure Developer CLI (azd) unterstützt Azure Bereitstellungsstapel für Vorlagenbereitstellungen. Ein Azure Bereitstellungsstapel ist eine Ressource, mit der Sie eine Gruppe von Azure Ressourcen als einzelne, zusammenhängende Einheit verwalten können. Mithilfe von Bereitstellungsstapeln können Sie zusätzliche Kontrolle über den Satz der Ressourcen erhalten, die Ihrer azd Vorlage und App zugeordnet sind.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Aktivieren Sie die Azure-Bereitstellungsstapel-Unterstützung in azd.
  • Stellen Sie azd-Vorlagen mithilfe von Azure Bereitstellungsstapeln bereit.
  • Konfigurieren sie das Verhalten des Bereitstellungsstapels mithilfe von azd Konfigurationen.

Aktivieren Azure Bereitstellungsstapelunterstützung

Die Unterstützung von Azure-Bereitstellungsstapel muss über den Befehl azd config aktiviert werden.

azd config set alpha.deployment.stacks on

Hinweis

Azure Unterstützung von Bereitstellungsstapeln ist derzeit ein Alpha-Feature, weshalb es manuell aktiviert werden muss. Jedoch werden Bereitstellungsstapel in einer zukünftigen Version zum Standardbereitstellungsverhalten von azd. Erfahren Sie mehr über unsere Versionsverwaltungsstrategie.

Überprüfen Sie, ob das Feature erfolgreich aktiviert wurde, indem Sie den azd config show Befehl verwenden:

azd config show

Bereitstellen einer Vorlage mithilfe von Bereitstellungsstapeln

Nachdem Sie das Feature "Bereitstellungsstapel" aktiviert haben, sind keine weiteren Änderungen an Ihren azd Vorlagen erforderlich, um das Standardverhalten dieses Features zu nutzen. azd umschließt die bereitgestellten Vorlagenressourcen automatisch in einen Azure Bereitstellungsstapel, wenn Sie azd up ausführen:

azd up

azd verwendet den in der Datei main.bicep Ihrer Vorlage definierten Bereich für den Azure Bereitstellungsstapel. Wenn Ihre Vorlage beispielsweise auf die Abonnement- oder Ressourcengruppenebene festgelegt ist, können Sie den zugeordneten Bereitstellungsstapel im Azure-Portal auf der Seite Deployment Stacks des zugeordneten Abonnements oder der Ressourcengruppe anzeigen.

Ein Screenshot, der einen Bereitstellungsstapel auf Abonnementebene im Azure-Portal zeigt.

Wählen Sie den Bereitstellungsstapel aus, um die Verwaltungsseiten anzuzeigen:

Ein Screenshot, der die Details des Bereitstellungsstacks zeigt.

Löschen eines Bereitstellungsstapels

Standardmäßig können Sie einen Bereitstellungsstapel und die zugehörigen Ressourcen mithilfe des Standardbefehls azd down löschen:

azd down

Das genaue Verhalten von azd down und Bereitstellungs-Stacks wird mithilfe der azure.yaml-Datei konfiguriert.

Konfigurieren des Bereitstellungsstapels

azd macht verschiedene Konfigurationseinstellungen über den Abschnitt infra der Datei azure.yaml verfügbar, um das Verhalten des Azure Bereitstellungsstapels zu beeinflussen. Diese Einstellungen entsprechen den Standardoptionen, die in der Dokumentation zu Bereitstellungsstapeln beschrieben sind. Betrachten Sie das folgende azure.yaml Beispiel:

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
infra:
  provider: bicep
  deploymentStacks:
    actionOnUnmanage:
      resources: delete
      resourceGroups: delete
    denySettings:
      mode: denyDelete
      excludedActions:
        - Microsoft.Resources/subscriptions/resourceGroups/delete
      excludedResources:
        - <your-resource-id-1>
        - <your-resource-id-2>
      excludedPrincipals:
        - <your-targeted-principal-id-1>
        - <your-targeted-principal-id-2>
      applyToChildScopes: true
# ...
# Remaining file contents omitted
# ...

Im vorherigen Beispiel werden die folgenden Optionen im deploymentStacks Abschnitt definiert:

  • actionOnUnmanage: Wenn ein Bereitstellungsstapel gelöscht wird, werden die zugeordneten Azure Ressourcen als nicht verwaltet betrachtet. Diese Einstellung bestimmt, wie Azure nicht verwaltete Ressourcen behandeln. Mögliche Werte sind:
    • delete ist der Standardwert und zerstört alle Ressourcen, die vom gelöschten Bereitstellungsstapel verwaltet werden.
    • detach lässt Ressourcen an Ort und Stelle, entfernt aber ihre Zuordnung zum gelöschten Bereitstellungsstapel.
  • denySettings: Ein Unterabschnitt, der eine differenzierte Kontrolle über die Ressourcen des Bereitstellungsstapels bietet.
    • Modus: Bestimmt allgemeine Einschränkungen für die Ressourcen des Bereitstellungsstapels. Mögliche Werte sind:
      • none ist der Standardwert und ermöglicht das Löschen der Bereitstellungsstapelressourcen oder das Hinzufügen neuer Ressourcen.
      • denyDelete verhindert, dass Bereitstellungsstapelressourcen gelöscht werden.
      • denyWriteAndDelete verhindert, dass Bereitstellungsstapelressourcen gelöscht werden, und verhindert auch, dass dem Bereitstellungsstapel neue Ressourcen hinzugefügt werden.
    • excludedActions: Listet die Aktionen der Azure rollenbasierten Zugriffssteuerung (RBAC) auf, die für die Bereitstellungsstapelressourcen nicht zulässig sind.
    • excludedResources: Listet die Ressourcen-IDs auf, die von der denySettings.
    • excludedPrincipals: Listet die Dienstprinzipal-IDs auf, die von denySettings ausgeschlossen sind.
    • applyToChildScopes: Ein boolescher Wert, der festlegt, ob die Verweigerungseinstellungen für untergeordnete Ressourcenressourcen im Bereitstellungsstapel gelten. Beispielsweise verfügt eine SQL Server Ressource über untergeordnete Datenbankressourcen.

häufig gestellte Fragen Azure Developer CLI