Integracja stosów wdrożeniowych Azure z Azure Developer CLI

Interfejs wiersza polecenia dewelopera Azure (azd) obsługuje stosy wdrażania Azure dla wdrożeń szablonów. Stos wdrożeniowy Azure to zasób, który umożliwia zarządzanie grupą zasobów Azure jako pojedynczą, spójną jednostką. Za pomocą stosów wdrażania możesz uzyskać dodatkową kontrolę nad zestawem zasobów skojarzonych z azd szablonem i aplikacją.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Włącz obsługę stosu wdrażania Azure w azd.
  • Wdróż szablony azd przy użyciu stosów wdrażania Azure.
  • Skonfiguruj zachowanie stosu wdrożeniowego za pomocą konfiguracji azd.

Włącz obsługę stosu wdrażania Azure

obsługa stosów wdrażania Azure musi być włączona za pomocą polecenia azd config:

azd config set alpha.deployment.stacks on

Uwaga

Obsługa stosów wdrażania w Azure jest obecnie funkcją w fazie alfa, dlatego należy ją włączyć ręcznie. Jednak stosy wdrożeniowe staną się domyślnym sposobem wdrażania azd w przyszłej wersji. Dowiedz się więcej o naszej strategii przechowywania wersji.

Sprawdź, czy funkcja została pomyślnie włączona przy użyciu azd config show polecenia :

azd config show

Wdrażanie szablonu przy użyciu stosów wdrażania

Po włączeniu funkcji stosów wdrażania żadne dalsze zmiany w szablonach azd nie są wymagane do korzystania z domyślnego zachowania tej funkcji. azd automatycznie opakowuje aprowizowane zasoby szablonu w stosie wdrożenia Azure podczas uruchamiania azd up:

azd up

azd używa zakresu zdefiniowanego w pliku main.bicep szablonu dla stosu wdrożenia Azure. Jeśli na przykład szablon obejmuje poziom subskrypcji lub grupy zasobów, możesz wyświetlić skojarzony stos wdrożenia w portalu Azure w sekcji Stosy wdrażania na stronie skojarzonej subskrypcji lub grupy zasobów.

Zrzut ekranu przedstawiający stos wdrożenia na poziomie subskrypcji w portalu Azure.

Wybierz stos wdrożenia, aby wyświetlić dla niego strony zarządzania:

Zrzut ekranu przedstawiający szczegóły stosu wdrożenia.

Usuń stos wdrożeniowy

Domyślnie można usunąć stos wdrożenia i skojarzone z nim zasoby przy użyciu standardowego azd down polecenia:

azd down

Dokładne zachowanie stosów azd down i wdrożeń jest konfigurowane przy użyciu pliku azure.yaml.

Konfigurowanie stosu wdrożenia

azd uwidacznia różne ustawienia konfiguracji za pośrednictwem sekcji infra pliku azure.yaml, aby wpłynąć na zachowanie stosu wdrażania Azure. Te ustawienia są mapowane na standardowe opcje opisane w dokumentacji stosów wdrożeniowych. Rozważmy następujący azure.yaml przykład:

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
# ...

W poprzednim przykładzie w sekcji zdefiniowano deploymentStacks następujące opcje:

  • actionOnUnmanage: Po usunięciu stosu wdrożenia skojarzone zasoby Azure są uznawane za niezarządzane. To ustawienie określa, jak Azure będzie obsługiwać niezarządzane zasoby. Możliwe wartości to:
    • delete jest wartością domyślną i niszczy wszystkie zasoby zarządzane przez usunięty stos wdrożenia.
    • detach Pozostawia zasoby na miejscu, ale usuwa ich skojarzenie z usuniętym stosem wdrożeniowym.
  • denySettings: podsekcja zapewniająca zniuansowaną kontrolę nad zasobami stosu wdrożenia.
    • tryb: określa ograniczenia wysokiego poziomu dla zasobów stosu wdrożenia. Możliwe wartości to:
      • none jest wartością domyślną i umożliwia usunięcie zasobów stosu wdrożenia lub dodanie nowych zasobów.
      • denyDelete uniemożliwia usunięcie wszystkich zasobów stosu wdrożenia.
      • denyWriteAndDelete uniemożliwia usunięcie wszystkich zasobów stosu wdrożenia, a także uniemożliwia dodawanie nowych zasobów do stosu wdrożenia.
    • excludedActions: Wyświetla listę działań kontroli dostępu opartej na rolach Azure (RBAC), które są niedozwolone w zasobach stosu wdrożeniowego.
    • excludedResources: wyświetla listę identyfikatorów zasobów, które są wykluczone z elementu denySettings.
    • excludedPrincipals: Lista identyfikatorów głównych usług, które są wykluczone z denySettings.
    • applyToChildScopes: wartość logiczna ustawiająca, czy ustawienia odmowy stosują się do zasobów podrzędnych w stosie wdrożeniowym. Na przykład zasób SQL Server ma podrzędne zasoby bazy danych.