Distribuire modelli in vari ambiti

Completato

È ora possibile comprendere i vari ambiti in cui è possibile distribuire le risorse. In questa unità verrà illustrato come iniziare a scrivere file Bicep da distribuire in questi ambiti.

Specificare l'ambito di destinazione per un file Bicep

Bicep deve conoscere l'ambito in cui viene distribuito un file. Questa informazione è importante perché Bicep deve assicurarsi che le risorse da distribuire siano valide per l'ambito in uso. Ad esempio, l'estensione Bicep per Visual Studio Code avvisa se si tenta di definire una risorsa in un ambito non supportato.

Usare la parola chiave targetScope per indicare a Bicep che le risorse nel file sono destinate a un ambito specifico. Ecco un esempio di file Bicep che distribuisce risorse nell'ambito di un gruppo di gestione:

targetScope = 'managementGroup'

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

Si noti che si sta chiedendo a Bicep di distribuire le risorse nell'ambito di un gruppo di gestione, ma non si sta specificando quale gruppo di gestione. Quando si distribuisce il modello, si indica esattamente a Bicep in quale gruppo di gestione si vogliono distribuire le risorse. L'interfaccia della riga di comando di Azure e i cmdlet di Azure PowerShell prevedono argomenti per specificare questa informazione.

È possibile impostare il targetScope per il file su resourceGroup, subscription, managementGroup o tenant. Se non si specifica un ambito di destinazione, Bicep presuppone l'ambito resourceGroup.

Creare gruppi di risorse

Ora che si è compreso come creare distribuzioni in vari ambiti, provare a mettere in pratica questo concetto creando un gruppo di risorse, ovvero una risorsa con ambito sottoscrizione:

targetScope = 'subscription'

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

In questo esempio, si noti che il file Bicep ha la parola chiave targetScope impostata su subscription, il che significa che Bicep considera che per impostazione predefinita tutte le risorse del file siano con ambito sottoscrizione.

Nota

Più avanti in questo modulo verrà illustrato come usare Bicep per creare sottoscrizioni di Azure e gruppi di gestione.

Inviare una distribuzione

Quando si avvia una distribuzione, è necessario indicare ad Azure l'ambito di destinazione. Questo significa che si usa un comando dell'interfaccia della riga di comando di Azure diverso per ogni ambito di distribuzione, come illustrato di seguito:

Per distribuire in questo ambito: Eseguire questo comando dell'interfaccia della riga di comando di Azure:
Gruppo di risorse az deployment group create
Subscription az deployment sub create
Gruppo di gestione az deployment mg create
Tenant az deployment tenant create

Quando si avvia una distribuzione, è necessario indicare ad Azure l'ambito di destinazione. Questo significa che si usa un cmdlet di PowerShell diverso per ogni ambito di distribuzione, come illustrato di seguito:

Per distribuire in questo ambito: Usare questo cmdlet di PowerShell:
Gruppo di risorse New-AzResourceGroupDeployment
Subscription New-AzSubscriptionDeployment
Gruppo di gestione New-AzManagementGroupDeployment
Tenant New-AzTenantDeployment

Azure archivia i metadati relativi a ogni distribuzione. A differenza delle distribuzioni nell'ambito del gruppo di risorse, è necessario fornire alcune informazioni quando la distribuzione è destinata ad altri ambiti, in modo che Azure possa archiviare correttamente i metadati:

  • Località: i metadati della distribuzione devono essere archiviati in una località specificata dall'utente. Non è necessario specificare un percorso per le distribuzioni dell'ambito del gruppo di risorse, perché i metadati di distribuzione usano la stessa posizione del gruppo di risorse. Tuttavia, quando si crea una distribuzione con ambito sottoscrizione, gruppo di gestione o tenant, è necessario specificare l'area di Azure in cui vengono archiviati i metadati. Le risorse per la distribuzione in questi ambiti non vengono sempre create nella stessa posizione specificata per i metadati.

  • Nome: tutte le distribuzioni in Azure hanno un nome. È possibile chiedere ad Azure informazioni su una distribuzione usando il relativo nome. Quando si usa l'interfaccia della riga di comando di Azure o Azure PowerShell per avviare una distribuzione, non è necessario specificare il nome. In caso contrario, il nome file del file modello viene usato come nome di distribuzione.

La combinazione dell'ambito, della località e del nome della distribuzione deve essere univoca. Si supponga, ad esempio, di creare una distribuzione di sottoscrizione denominata my-deployment e di usare la località Stati Uniti orientali per archiviare i metadati. Non è possibile creare un'altra distribuzione nella stessa sottoscrizione denominata anch'essa my-deployment, anche se si trova in una località diversa, ad esempio Europa occidentale. Se si crea un'altra distribuzione denominata my-deployment negli Stati Uniti orientali, la distribuzione esistente viene sovrascritta.