Şablonları çeşitli kapsamlarda dağıtma

Tamamlandı

Artık kaynakları dağıtabileceğiniz çeşitli kapsamları anlayabilirsiniz. Bu ünitede, bu kapsamlarda dağıtılacak Bicep dosyalarını yazmaya nasıl başlayacağınızı öğreneceksiniz.

Bicep dosyası için hedef kapsamı belirtme

Bicep'in bir dosyanın dağıtıldığı kapsamı bilmesi gerekir. Bu bilgiler önemlidir çünkü Bicep'in dağıttığınız kaynakların kullandığınız kapsam için geçerli olduğundan emin olması gerekir. Örneğin, Visual Studio Code için Bicep uzantısı desteklenmeyen bir kapsamda bir kaynak tanımlamaya çalıştığınızda sizi uyarır.

targetScope Bicep'e dosyadaki kaynakların belirli bir kapsama yönelik olduğunu bildirmek için anahtar sözcüğünü kullanın. Yönetim grubu kapsamında kaynakları dağıtan bicep dosyası örneği aşağıda verilmiştir:

targetScope = 'managementGroup'

resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2020-09-01' = {
  // ...
}

Bicep'e kaynakları bir yönetim grubu kapsamında dağıtmasını söylediğine, ancak hangi yönetim grubunu belirtmediğinize dikkat edin. Şablonu dağıtırken, Bicep'e kaynakları tam olarak hangi yönetim grubuna dağıtmak istediğinizi söylersiniz. Azure CLI ve Azure PowerShell cmdlet'leri bu bilgileri belirtmek için bağımsız değişkenler sağlar.

dosyanız resourceGroupiçin öğesini targetScope , , subscriptionmanagementGroupveya tenantolarak ayarlayabilirsiniz. Hedef kapsam belirtmezseniz, Bicep kapsamı kabul eder resourceGroup .

Kaynak grupları oluşturun

Çeşitli kapsamlarda dağıtım oluşturmayı anladığınıza göre, abonelik kapsamlı bir kaynak olan bir kaynak grubu oluşturmak için bu anlayışı uygulamayı deneyin:

targetScope = 'subscription'

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

Bu örnekte, Bicep dosyasının bir targetScope öğesine subscriptionsahip olduğuna dikkat edin. Bu, Bicep'in dosyadaki tüm kaynakları varsayılan olarak abonelik kapsamına alınmış olarak kabul ettiği anlamına gelir.

Not

Bu modülün devamında Azure abonelikleri ve yönetim grupları oluşturmak için Bicep'i nasıl kullanacağınızı göreceksiniz.

Dağıtım gönderme

Bir dağıtımı başlattığınızda, Azure'a dağıtımı hangi kapsamda yapmak istediğinizi söylemeniz gerekir. Bu, burada gösterildiği gibi her dağıtım kapsamı için farklı bir Azure CLI komutu kullandığınız anlamına gelir:

Bu kapsamda dağıtmak için: Şu Azure CLI komutunu çalıştırın:
Kaynak grubu az deployment group create
Abonelik az deployment sub create
Yönetim grubu az deployment mg create
Kiracı az deployment tenant create

Bir dağıtımı başlattığınızda, Azure'a dağıtımı hangi kapsamda yapmak istediğinizi söylemeniz gerekir. Bu, burada gösterildiği gibi her dağıtım kapsamı için farklı bir PowerShell cmdlet'i kullandığınız anlamına gelir:

Bu kapsamda dağıtmak için: Bu PowerShell cmdlet'ini kullanın:
Kaynak grubu New-AzResourceGroupDeployment
Abonelik New-AzSubscriptionDeployment
Yönetim grubu New-AzManagementGroupDeployment
Kiracı New-AzTenantDeployment

Azure, her dağıtımla ilgili meta verileri depolar. Kaynak grubu kapsamındaki dağıtımlardan farklı olarak, Azure'ın meta verileri doğru şekilde depolaması için diğer kapsamlarda dağıtım yaparken sağlamanız gereken bazı bilgiler vardır:

  • Konum: Dağıtım meta verilerinin belirttiğiniz bir konumda depolanması gerekir. Dağıtım meta verileri kaynak grubuyla aynı konumu kullandığından kaynak grubu kapsam dağıtımları için bir konum belirtmeniz gerekmez. Ancak abonelik, yönetim grubu veya kiracı kapsamında bir dağıtım oluşturduğunuzda, dağıtım meta verilerinin depolandığı Azure bölgesini belirtmeniz gerekir. Bu kapsamlardaki dağıtımınız için kaynaklar her zaman meta veriler için belirttiğiniz konumda oluşturulmaz.

  • Ad: Azure'daki tüm dağıtımların bir adı vardır. Adını kullanarak Azure'dan bir dağıtım hakkında bilgi isteyebilirsiniz. Dağıtım göndermek için Azure CLI veya Azure PowerShell kullandığınızda, adı belirtmeniz gerekmez. Ancak bunu yapmazsanız, şablon dosyasının dosya adı dağıtım adı olarak kullanılır.

Dağıtımın kapsamı, konumu ve adının bileşimi benzersiz olmalıdır. Örneğin, adlı my-deployment bir abonelik dağıtımı oluşturduğunuzu ve meta verilerini depolamak için Doğu ABD konumunu kullandığınızı varsayalım. Batı Avrupa gibi farklı bir konumda olsa bile aynı abonelikte adlı my-deploymentbaşka bir dağıtım oluşturamazsınız. Doğu ABD'de adlı my-deployment başka bir dağıtım oluşturursanız, mevcut dağıtımın üzerine yazılır.