Bicep kullanarak sanal ağ kaynakları oluşturma
Birçok Azure dağıtımı için ağ kaynaklarının dağıtılması ve yapılandırılması gerekir. Azure ağ kaynaklarınızı tanımlamak için Bicep'i kullanabilirsiniz.
Sanal ağlar ve alt ağlar
türüne Microsoft.Network/virtualNetworks
sahip bir kaynak oluşturarak sanal ağlarınızı tanımlayın.
Alt ağlar özelliğini kullanarak alt ağları yapılandırma
Sanal ağlar, sanal ağ içindeki IP adreslerinin mantıksal grupları olan alt ağlar içerir. Bicep'te alt ağları tanımlamanın iki yolu vardır: sanal ağ kaynağındaki özelliğini kullanarak subnets
ve türünde Microsoft.Network/virtualNetworks/subnets
bir alt kaynak oluşturarak.
Uyarı
Alt ağları alt kaynak olarak tanımlamaktan kaçının. Bu yaklaşım, sonraki dağıtımlar veya başarısız dağıtımlar sırasında kaynaklarınız için kapalı kalma süresine neden olabilir.
Bu örnekte olduğu gibi sanal ağ tanımı içinde alt ağlarınızı tanımlamak en iyisidir:
Aşağıdaki örnek, daha büyük bir örneğin parçasıdır. Dağıtabileceğiniz bicep dosyası için dosyanın tamamına bakın.
param location string = resourceGroup().location
var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: subnet1Name
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: subnet2Name
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
resource subnet1 'subnets' existing = {
name: subnet1Name
}
resource subnet2 'subnets' existing = {
name: subnet2Name
}
}
output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id
Her iki yaklaşım da alt ağlarınızı tanımlamanızı ve oluşturmanızı sağlasa da, önemli bir fark vardır. Alt ağları alt kaynakları kullanarak tanımladığınızda, Bicep dosyanız ilk kez dağıtıldığında sanal ağ dağıtılır. Ardından, sanal ağ dağıtımı tamamlandıktan sonra her alt ağ dağıtılır. Azure Resource Manager her kaynağı ayrı ayrı dağıttığı için bu sıralama gerçekleşir.
Aynı Bicep dosyasını yeniden dağıttığınızda aynı dağıtım dizisi gerçekleşir. Ancak, özellik etkin bir şekilde boş olduğundan subnets
sanal ağ üzerinde yapılandırılmış alt ağlar olmadan dağıtılır. Ardından, sanal ağ yeniden yapılandırıldıktan sonra alt ağ kaynakları yeniden dağıtılır ve bu da her alt ağı yeniden oluşturur. Bazı durumlarda bu davranış, dağıtımınız sırasında sanal ağınızdaki kaynakların bağlantısının kaybolmasına neden olur. Diğer durumlarda, Azure sanal ağı değiştirmenizi engeller ve dağıtımınız başarısız olur.
Alt ağ kaynak kimliklerine erişme
Genellikle bir alt ağın kaynak kimliğine başvurmanız gerekir. alt ağınızı tanımlamak için özelliğini kullandığınızda subnets
, anahtar sözcüğünü existing
kullanarak alt ağa kesin olarak yazılan bir başvuru elde edebilir ve ardından alt ağın id
özelliğine erişebilirsiniz:
Aşağıdaki örnek, daha büyük bir örneğin parçasıdır. Dağıtabileceğiniz bicep dosyası için dosyanın tamamına bakın.
param location string = resourceGroup().location
var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: subnet1Name
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: subnet2Name
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
resource subnet1 'subnets' existing = {
name: subnet1Name
}
resource subnet2 'subnets' existing = {
name: subnet2Name
}
}
output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id
Bu örnek alt ağ kaynağına erişmek için anahtar sözcüğünü existing
kullandığından, alt ağ kaynağının tamamını tanımlamak yerine önceki bölümde özetlenen risklere sahip değildir.
Başka bir kaynak grubundaki existing
bir sanal ağa veya alt ağ kaynağına başvurmak için ve scope
anahtar sözcüklerini de birleştirebilirsiniz.
Ağ güvenlik grupları
Ağ güvenlik grupları genellikle bir alt ağ veya ağ arabiriminden gelen ve giden trafik akışını denetleen kurallar uygulamak için kullanılır. Bir Bicep dosyasında çok sayıda kural tanımlamak ve birden çok Bicep dosyasında kuralları paylaşmak zahmetli olabilir. Karmaşık veya büyük ağ güvenlik gruplarıyla çalışırken Paylaşılan değişken dosya desenini kullanmayı göz önünde bulundurun.
Özel uç noktalar
Özel uç noktaların onaylanması gerekir. Bazı durumlarda onay otomatik olarak gerçekleşir. Ancak diğer senaryolarda uç noktayı kullanılabilir duruma gelmeden önce onaylamanız gerekir.
Özel uç nokta onayı bir işlemdir, bu nedenle bunu doğrudan Bicep kodunuz içinde gerçekleştiremezsiniz. Ancak, işlemi çağırmak için bir dağıtım betiği kullanabilirsiniz. Alternatif olarak, işlem hattı betiğinde olduğu gibi Bicep dosyanızın dışında işlemi çağırabilirsiniz.
İlgili kaynaklar
- Kaynak belgeleri
- Alt kaynaklar
- Hızlı başlangıç şablonları