integrazione degli Azure deployment stack con Azure Developer CLI

L'interfaccia della riga di comando Azure Developer (azd) supporta gli stack di distribuzione Azure per le distribuzioni di modelli. Uno stack di distribuzione Azure è una risorsa che consente di gestire un gruppo di risorse Azure come singola unità coesa. Usando gli stack di distribuzione, è possibile ottenere un maggiore controllo sul set di risorse associate al modello e all'app azd .

In questo articolo vengono illustrate le operazioni seguenti:

  • Abilitare il supporto dello stack di distribuzione Azure in azd.
  • Distribuire modelli azd usando stack di distribuzione Azure.
  • Configurare il comportamento dello stack di distribuzione usando azd configurazioni.

Abilitare il supporto dello stack di distribuzione Azure

Per abilitare il supporto per gli stack di distribuzione su Azure, bisogna utilizzare il comando azd config.

azd config set alpha.deployment.stacks on

Nota

Azure supporto per gli stack di distribuzione è attualmente una funzionalità alfa, motivo per cui deve essere abilitata manualmente. Tuttavia, gli stack di distribuzione diventeranno il comportamento di distribuzione predefinito di azd in una versione futura. Altre informazioni sulla strategia di controllo delle versioni.

Verificare che la funzionalità sia stata abilitata correttamente usando il azd config show comando :

azd config show

Distribuire un modello usando gli stack di distribuzione

Dopo aver abilitato la funzionalità stack di distribuzione, non sono necessarie ulteriori modifiche ai azd modelli per sfruttare il comportamento predefinito di questa funzionalità. azd avvolge automaticamente le risorse modello fornite in uno stack di distribuzione Azure quando si esegue azd up:

azd up

azd usa l'ambito definito nel file main.bicep del template per lo stack di distribuzione Azure. Ad esempio, se l'ambito del modello è a livello di sottoscrizione o gruppo di risorse, è possibile visualizzare lo stack di distribuzione associato nel portale di Azure sulla pagina Stack di distribuzione della sottoscrizione o del gruppo di risorse associato.

"Una *screenshot* che mostra uno stack di distribuzione a livello di sottoscrizione nel portale Azure."

Selezionare lo stack di distribuzione per visualizzare le pagine di gestione:

Screenshot che mostra i dettagli dello stack di distribuzione.

Eliminare uno stack di distribuzione

Per impostazione predefinita, è possibile eliminare uno stack di distribuzione e le risorse associate usando il comando standard azd down :

azd down

Il comportamento esatto di azd down e degli stack di distribuzione viene configurato usando il file azure.yaml.

Configurare lo stack di distribuzione

azd espone varie impostazioni di configurazione tramite la sezione infra del file azure.yaml per influenzare il comportamento dello stack di distribuzione Azure. Queste impostazioni sono mappate alle opzioni standard descritte in dettaglio nella documentazione relativa agli stack di distribuzione . Si consideri l'esempio seguente azure.yaml :

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

Nell'esempio precedente vengono definite le opzioni seguenti nella deploymentStacks sezione :

  • actionOnUnmanage: quando viene eliminato uno stack di distribuzione, le risorse Azure associate vengono considerate non gestite. Questa impostazione determina come Azure gestirà le risorse non gestite. I valori possibili includono:
    • delete è il valore predefinito e elimina tutte le risorse gestite dallo stack di distribuzione eliminato.
    • detach lascia le risorse sul posto, ma rimuove l'associazione allo stack di distribuzione eliminato.
  • denySettings: sottosezione che fornisce un controllo sfumato sulle risorse dello stack di distribuzione.
    • mode: determina restrizioni di alto livello per le risorse dello stack di distribuzione. I valori possibili includono:
      • none è il valore predefinito e consente l'eliminazione delle risorse dello stack di distribuzione o l'aggiunta di nuove risorse.
      • denyDelete impedisce l'eliminazione delle risorse dello stack di distribuzione.
      • denyWriteAndDelete impedisce l'eliminazione delle risorse dello stack di distribuzione e impedisce anche l'aggiunta di nuove risorse allo stack di distribuzione.
    • excludedActions: elenca le azioni di controllo degli accessi basato sui ruoli di Azure (RBAC) che non sono consentite sulle risorse dello stack di distribuzione.
    • excludedResources: elenca gli ID risorsa esclusi da denySettings.
    • excludedPrincipals: elenca gli ID principal di servizio esclusi da denySettings.
    • applyToChildScopes: Valore booleano che determina se le impostazioni di rifiuto si applicano alle risorse figlio delle risorse nello stack di distribuzione. Ad esempio, una risorsa SQL Server include risorse di database figlio.

Domande frequenti Azure Developer CLI