Şablonları çeşitli kapsamlarda dağıtma
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@2024-05-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 resourceGroup
için öğesini targetScope
, , subscription
managementGroup
veya tenant
olarak 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@2024-07-01' = {
name: 'example-resource-group'
location: 'westus'
}
Bu örnekte, Bicep dosyasının bir targetScope
öğesine subscription
sahip 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-deployment
baş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.