Distribuire modelli in vari ambiti
È 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.