Büyük ölçekte Özel Bağlantı ve DNS tümleştirmesi
Bu makalede, PaaS hizmetleri için Azure Özel Bağlantı merkez-uç ağ mimarilerindeki Azure Özel DNS bölgeleriyle nasıl tümleştirilip tümleştirilene anlatılmaktadır.
Giriş
Birçok müşteri hub ve uç ağ mimarisini kullanarak Azure'da ağ altyapılarını oluşturur. Burada:
- Ağ paylaşımlı hizmetler (ağ sanal gereçleri, ExpressRoute/VPN ağ geçitleri veya DNS sunucuları gibi) merkez sanal ağına (VNet) dağıtılır.
- Uç sanal ağlar, sanal ağ eşleme yoluyla paylaşılan hizmetleri kullanır.
Merkez-uç ağ mimarilerinde uygulama sahiplerine genellikle merkez sanal ağına bağlı bir sanal ağ (uç) içeren bir Azure aboneliği sağlanır. Bu mimaride sanal makinelerini dağıtabilir ve ExpressRoute veya VPN yoluyla diğer sanal ağlara veya şirket içi ağlara özel bağlantı sahibi olabilirler.
Azure Güvenlik Duvarı gibi bir merkezi ağ sanal gereci (NVA), İnternet'e giden bağlantı sağlar. Buna ek olarak, Azure Güvenlik Duvarı DNS ara sunucusu veya hub'daki veya hub'a bitişik başka bir hizmet gibi bu cihaz genellikle DNS iletmeyi özelleştirmek için kullanılır.
Birçok uygulama ekibi, Azure IaaS ve PaaS kaynaklarının bir bileşimini kullanarak çözümlerini oluşturur. Bazı Azure PaaS hizmetleri (SQL Yönetilen Örneği gibi) müşteri sanal ağlarına dağıtılabilir. Sonuç olarak, trafik Azure ağı içinde özel kalır ve şirket içinden tamamen yönlendirilebilir.
Ancak bazı Azure PaaS hizmetleri (Azure Depolama veya Azure Cosmos DB gibi) müşterinin sanal ağlarına dağıtılamaz ve genel uç noktaları üzerinden erişilebilir. Bazı durumlarda bu yapılandırma müşterinin güvenlik ilkeleriyle çekişmelere neden olur. Şirket trafiği, genel uç noktalar üzerinden şirket kaynaklarının (SQL veritabanı gibi) dağıtımına veya erişimine izin vermeyebilir.
Azure Özel Bağlantı özel uç noktalar üzerinden Azure hizmetleri listesine erişimi destekler, ancak bu özel uç nokta kayıtlarını ilgili özel DNS bölgesine kaydetmeniz gerekir.
Bu makalede, uygulama ekiplerinin aboneliklerinde yalnızca özel uç noktalar üzerinden erişilebilen Azure PaaS hizmetlerini nasıl dağıtabilecekleri açıklanmaktadır.
Bu makalede, uygulama ekiplerinin hizmetlerin özel DNS bölgeleriyle otomatik olarak tümleştirilmesini nasıl sağlayabileceğiniz de açıklanır. Otomasyonu Azure Özel DNS aracılığıyla yapar ve bu da DNS'de kayıtları el ile oluşturma veya silme gereksinimini ortadan kaldırır.
Merkez-uç ağ mimarilerinde Özel Bağlantı ve DNS tümleştirmesi
Özel DNS bölgeleri genellikle merkez sanal net'in dağıtıldığı azure aboneliğinde merkezi olarak barındırılır. Bu merkezi barındırma uygulaması, şirket içi dns ad çözümlemesi ve Active Directory gibi merkezi DNS çözümlemesi için diğer gereksinimler tarafından yönlendirilir. Çoğu durumda, yalnızca ağ ve kimlik yöneticilerinin bölgelerdeki DNS kayıtlarını yönetme izinleri vardır.
Uygulama ekiplerinin kendi aboneliklerinde Azure kaynağı oluşturma izinleri vardır. Merkezi ağ bağlantısı aboneliğinde, özel DNS bölgelerindeki DNS kayıtlarını yönetmeyi içeren herhangi bir izni yoktur. Bu erişim sınırlaması, Azure PaaS hizmetlerini özel uç noktalarla dağıtırken gereken DNS kayıtlarını oluşturamadıkları anlamına gelir.
Aşağıdaki diyagramda, merkezi DNS çözümlemesi olan ve Özel Bağlantı kaynaklar için ad çözümlemesinin Azure Özel DNS aracılığıyla yapıldığı kurumsal ortamlar için tipik bir üst düzey mimari gösterilmektedir:
Önceki diyagramda şunları vurgulamak önemlidir:
- Şirket içi DNS sunucularının her özel uç nokta genel DNS bölgesi için yapılandırılmış koşullu ileticileri vardır ve merkez sanal ağında barındırılan Özel DNS Çözümleyicisi'ne işaret eder.
- Merkez sanal akında barındırılan Özel DNS Çözümleyicisi, iletici olarak Azure tarafından sağlanan DNS'yi (168.63.129.16) kullanır.
- Hub sanal ağı, Azure hizmetlerinin (diyagramda gösterildiği gibi gibi
privatelink.blob.core.windows.net
) Özel DNS bölge adlarına bağlanmalıdır. - Tüm Azure sanal ağları, merkez sanal asında barındırılan Özel DNS Çözümleyici'yi kullanır
- Özel DNS Çözümleyicisi müşterinin şirket etki alanları için yetkili olmadığından, Yalnızca bir iletici olduğundan (örneğin, Active Directory etki alanı adları), şirket içi DNS Sunucularına (172.16.1.10 ve 172.16.1.11) veya Azure'da dağıtılan ve bu bölgeler için yetkili olan DNS sunucularına işaret eden giden uç nokta ileticileri olmalıdır.
Not
ExpressRoute Ağ Geçidinizle birlikte Hub Sanal Ağ bir DNS Özel Çözümleyicisi dağıtabilirsiniz. Ancak, genel FQDN'lerin çözümlenmesine izin verildiğinden ve hedeflenen DNS sunucusuna DNS İletme Kural Kümesi Kuralı aracılığıyla geçerli bir yanıtla yanıt verdiğinden emin olmanız gerekir. Bazı Azure hizmetleri genel DNS adlarının çalışması için çözümlenebilmesine dayanır. Burada daha fazla bilgi edinebilirsiniz
Önceki diyagramda tek bir merkez-uç mimarisi gösterilmiş olsa da müşterilerin dayanıklılık, yakınlık veya veri yerleşimi gereksinimlerini karşılamak için Azure ayak izinin birden çok bölgeye genişletilmesi gerekebilir. Aynı Özel Bağlantı özellikli PaaS örneğine birden çok Özel Uç Nokta (PE) üzerinden erişilmesi gereken çeşitli senaryolar ortaya çıkmıştır.
Aşağıdaki diyagramda, Özel Bağlantı kaynaklar için ad çözümlemesinin Azure Özel DNS aracılığıyla yapıldığı merkezdeki (bölge başına bir) merkezi DNS çözümlemesi dağıtılan kurumsal ortamlar için tipik bir üst düzey mimari gösterilmektedir.
İstemcilerin bulunduğu her bölgede bir tane olmak üzere PaaS örneğiyle ilişkili birden çok bölgesel özel uç noktanın dağıtılması, bölge başına Özel Bağlantı ve Özel DNS Bölgeleri'ni etkinleştirmeniz önerilir. Yerleşik DR özelliklerine (coğrafi olarak yedekli depolama hesapları, SQL DB yük devretme grupları vb.) sahip PaaS hizmetleriyle çalışırken birden çok bölge Özel Uç Noktası zorunlu olur.
Bu senaryo, şu anda bunlar için otomatik yaşam döngüsü yönetimi olmadığından, her bölgede ayarlanan Özel Bağlantı DNS kaydının el ile bakımını/güncelleştirmelerini gerektirir.
Diğer kullanım örnekleri için tek bir genel Özel Uç Nokta dağıtılabilir ve ilgili bölgelerden tek bir bölgedeki tek Özel Uç Noktaya yönlendirme eklenerek tüm istemciler tarafından erişilebilir hale getirilebilir.
Çözümlemeyi ve dolayısıyla şirket içi ağlardan özel DNS bölgesine ve özel uç noktalara bağlantıyı etkinleştirmek için privatelink
DNS altyapısında uygun DNS yapılandırmasının (koşullu ileticiler gibi) sağlanması gerekir.
Uygulama ekiplerinin aboneliklerinde gerekli Azure PaaS kaynaklarını oluşturması için geçerli olması gereken iki koşul vardır:
- Merkezi ağ ve/veya merkezi platform ekibi, uygulama ekiplerinin yalnızca özel uç noktalar aracılığıyla Azure PaaS hizmetlerini dağıtabildiğinden ve bunlara erişebildiğinden emin olmalıdır.
- Merkezi ağ ve/veya merkezi platform ekipleri, özel uç noktalar oluşturduğunuzda ilgili kayıtların nasıl işleneceğini ayarlamaları gerekir. İlgili kayıtları, oluşturulan hizmetle eşleşen merkezi özel DNS bölgesinde otomatik olarak oluşturulacak şekilde ayarlayın.
- DNS kayıtlarının özel uç noktanın yaşam döngüsünü izlemesi gerekir; bu durumda, özel uç nokta silindiğinde otomatik olarak kaldırılır.
Not
DNS çözümlemesine dayalı ağ kurallarındaki FQDN'lerin Azure Güvenlik Duvarı ve Güvenlik Duvarı ilkesinde kullanılması gerekiyorsa (Bu özellik NTP, SSH, RDP ve daha fazlası dahil olmak üzere tüm TCP/UDP protokolleriyle giden trafiği filtrelemenize olanak tanır). ağ kurallarınızda FQDN'leri kullanmak için Azure Güvenlik Duvarı DNS Ara Sunucusu'nu etkinleştirmeniz gerekir, ardından bu uç sanal ağları özel DNS sunucusundan DNS ara sunucusuna Azure Güvenlik Duvarı DNS ayarlarını değiştirmeye zorlanır. Uç sanal ağın DNS ayarlarının değiştirilmesi, bu sanal ağın içindeki tüm VM'lerin yeniden başlatılmasını gerektirir.
Aşağıdaki bölümlerde, uygulama ekiplerinin Azure İlkesi kullanarak bu koşulları nasıl etkinleştirdiği açıklanmaktadır. Örnek, uygulama ekiplerinin dağıtması gereken Azure hizmeti olarak Azure Depolama'yı kullanır. Ancak aynı ilke, Özel Bağlantı destekleyen çoğu Azure hizmeti için de geçerlidir.
Platform ekibinin gerektirdiği yapılandırma
Platform ekibi yapılandırma gereksinimleri arasında özel DNS bölgeleri oluşturma, ilke tanımlarını ayarlama, ilkeleri dağıtma ve ilke atamalarını ayarlama yer alır.
Özel DNS bölgeleri oluşturma
Desteklenen Özel Bağlantı hizmetleri için merkezi bağlantı aboneliğinde özel DNS bölgeleri oluşturun. Daha fazla bilgi için bkz. Azure Özel Uç Nokta DNS yapılandırması.
Bu örnekte bloblu depolama hesabı örnek olarak verilmiştir. Bağlantı aboneliğinde özel bir privatelink.blob.core.windows.net
DNS bölgesi oluşturmaya çevrilir.
İlke tanımları
Özel DNS bölgelerine ek olarak, bir dizi özel Azure İlkesi tanımı da oluşturmanız gerekir. Bu tanımlar özel uç noktaların kullanımını zorunlu tutar ve oluşturduğunuz DNS bölgesinde DNS kaydını oluşturmayı otomatikleştirir:
Deny
PaaS hizmetleri ilkesi için genel uç nokta.Bu ilke, kullanıcıların ortak uç noktalarla Azure PaaS hizmetleri oluşturmasını engeller ve kaynağı oluştururken özel uç noktayı seçmezse onlara bir hata iletisi verir.
Tam ilke kuralı PaaS hizmetleri arasında farklılık gösterebilir. Azure Depolama hesapları için, ortak ağlardan gelen isteklere izin verilip verilmeyeceğini tanımlayan networkAcls.defaultAction özelliğine bakın. Bu durumda, networkAcls.defaultAction
Deny
özelliği değilse Microsoft.Storage/storageAccounts kaynak türünü oluşturmayı reddedecek bir koşul ayarlayın. Aşağıdaki ilke tanımı davranışı gösterir:{ "mode": "All", "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "notEquals": "Deny" } ] }, "then": { "effect": "Deny" } } }
Deny
ön ek ilkesiyleprivatelink
özel bir DNS bölgesi oluşturma olanağı.Platform ekibi tarafından yönetilen aboneliklerde barındırılan koşullu iletici ve özel DNS bölgeleriyle merkezi bir DNS mimarisi kullanın. Uygulama ekipleri sahiplerinin kendi Özel Bağlantı özel DNS bölgelerini oluşturmalarını ve hizmetleri aboneliklerine bağlamalarını önlemek gerekir.
Uygulama ekibiniz özel bir uç nokta oluşturduğunda seçeneğinin
Integrate with private DNS zone
Azure portalında olarak ayarlandığındanNo
emin olun.öğesini seçerseniz
Yes
Azure İlkesi özel uç nokta oluşturmanızı engeller. İlke tanımında, bölge ön ekine sahipseprivatelink
Microsoft.Network/privateDnsZones kaynak türünü oluşturma özelliğini reddeder. Aşağıdaki ilke tanımı önprivatelink
eki gösterir:{ "description": "This policy restricts creation of private DNS zones with the `privatelink` prefix", "displayName": "Deny-PrivateDNSZone-PrivateLink", "mode": "All", "parameters": null, "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Network/privateDnsZones" }, { "field": "name", "contains": "privatelink." } ] }, "then": { "effect": "Deny" } } }
DeployIfNotExists
ilkesini kullanarak merkezi özel DNS bölgesinde gerekli DNS kaydını otomatik olarak oluşturun.Aşağıdaki ilke örneklerinde
privateDNSZoneGroup
, Özel Uç Nokta üzerinde oluşturulan iki yaklaşım gösterilmektedir.İlk ilke, ikinci ilke hem hem
groupID
deprivateLinkServiceId
kullanırken öğesine dayanırgroupId
. Başka bir kaynakla çakışmakgroupId
(çakışmak) için ikinci ilkeyi kullanın.Örneğin,
groupId
SQL hem Cosmos DB hem de Synapse Analytics için kullanılır. Her iki kaynak türü de dağıtılırsa ve özel uç nokta girişinde öğesini oluşturmakprivateDNSZoneGroup
için ilk ilke atanmışsa, Cosmos DB veya Synapse Analytics'in yanlış Özel DNS Bölgesi oluşturulur ve eşlenir. Ardından, ilk ilkenin ilke kuralında arayabileceği çakışmagroupId
nedeniyle bölgelerin her biri arasında geçiş yapar.Özel bağlantı kaynaklarının
groupId
listesi için Özel uç nokta nedir? altındaki alt kaynaklar sütununa bakın.
İpucu
Azure İlkesi yerleşik tanımlar sürekli ekleniyor, siliniyor ve güncelleştiriliyor. Yerleşik ilkeleri kullanmanız ve kendi ilkelerinizi yönetmeniz (varsa) kesinlikle önerilir. Aşağıdaki adı ' xxx... olan mevcut yerleşik ilkeleri bulmak için AzPolicyAdvertizer'ı kullanın. özel DNS bölgelerini kullanmak için. Buna ek olarak, Azure Giriş Bölgeleri 'nin (ALZ) yerleşik ilkeleri içeren ve düzenli olarak güncelleştirilen özel DNS bölgelerini kullanmak için Azure PaaS hizmetlerini yapılandırma adlı bir ilke girişimi vardır. Yerleşik bir ilke sizin durumunuz için kullanılamıyorsa Azure İdaresi geri bildirim sitesinde sorun azure-policy
oluşturmayı göz önünde bulundurun · Azure İlkesi GitHub deposundaki Yeni yerleşik İlke Teklifleri işlemini izleyen topluluk.
İlke DeployIfNotExists
- Yalnızca üzerinde groupId
eşleştirme
Hizmete özgü groupId
bir özel uç nokta kaynağı oluşturursanız bu ilke tetikler. groupId
, bu özel uç noktanın bağlanması gereken uzak kaynaktan (hizmet) alınan grubun kimliğidir. Ardından özel uç nokta içinde bir dağıtımı privateDNSZoneGroup
tetikler ve özel uç noktayı özel DNS bölgesiyle ilişkilendirir. Örnekte Azure groupId
Depolama blobları için şeklindedir blob
. Diğer Azure hizmetleri hakkında groupId
daha fazla bilgi için Alt Kaynak sütununun altındaki Azure Özel Uç Nokta DNS yapılandırması bölümüne bakın. İlke özel uç noktada öğesini bulduğunda groupId
, özel uç nokta içinde bir privateDNSZoneGroup
dağıtır ve bunu parametre olarak belirtilen özel DNS bölgesi kaynak kimliğine bağlar. Örnekte, özel DNS bölgesi kaynak kimliği şöyledir:
/subscriptions/<subscription-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net
Aşağıdaki kod örneği ilke tanımını gösterir:
{
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/privateEndpoints"
},
{
"count": {
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
"where": {
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
"equals": "blob"
}
},
"greaterOrEquals": 1
}
]
},
"then": {
"effect": "deployIfNotExists",
"details": {
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
],
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"privateDnsZoneId": {
"type": "string"
},
"privateEndpointName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('privateEndpointName'), '/deployedByPolicy')]",
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"apiVersion": "2020-03-01",
"location": "[parameters('location')]",
"properties": {
"privateDnsZoneConfigs": [
{
"name": "storageBlob-privateDnsZone",
"properties": {
"privateDnsZoneId": "[parameters('privateDnsZoneId')]"
}
}
]
}
}
]
},
"parameters": {
"privateDnsZoneId": {
"value": "[parameters('privateDnsZoneId')]"
},
"privateEndpointName": {
"value": "[field('name')]"
},
"location": {
"value": "[field('location')]"
}
}
}
}
}
}
},
"parameters": {
"privateDnsZoneId": {
"type": "String",
"metadata": {
"displayName": "privateDnsZoneId",
"strongType": "Microsoft.Network/privateDnsZones"
}
}
}
}
İkinci DeployIfNotExists
İlke - & üzerinde groupId
eşleştirme privateLinkServiceId
Hizmete özgü groupId
ve privateLinkServiceId
ile özel bir uç nokta kaynağı oluşturursanız bu ilke tetikler. groupId
, bu özel uç noktanın bağlanması gereken uzak kaynaktan (hizmet) alınan grubun kimliğidir. privateLinkServiceId
, bu özel uç noktanın bağlanması gereken uzak kaynağın (hizmetin) kaynak kimliğidir. Ardından, özel uç nokta içinde özel uç noktayı özel DNS bölgesiyle ilişkilendiren bir privateDNSZoneGroup
dağıtımı tetikleyin.
Örnekte Azure groupId
Cosmos DB (SQL) için değeri ve SQL
privateLinkServiceId
içermelidir Microsoft.DocumentDb/databaseAccounts
. ve diğer Azure hizmetleri hakkında groupId
daha fazla bilgi için Alt Kaynak sütununun altındaki Azure Özel Uç Nokta DNS yapılandırması bölümüne bakın.privateLinkServiceId
İlke özel uç noktayı bulduğunda groupId
ve privateLinkServiceId
özel uç nokta içinde bir privateDNSZoneGroup
dağıtır. Ve parametre olarak belirtilen özel DNS bölgesi kaynak kimliğine bağlanır. Aşağıdaki ilke tanımı özel DNS bölgesi kaynak kimliğini gösterir:
/subscriptions/<subscription-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/privateDnsZones/privatelink.documents.azure.com
Aşağıdaki kod örneği ilke tanımını gösterir:
{
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/privateEndpoints"
},
{
"count": {
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*]",
"where": {
"allOf": [
{
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].privateLinkServiceId",
"contains": "Microsoft.DocumentDb/databaseAccounts"
},
{
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
"equals": "[parameters('privateEndpointGroupId')]"
}
]
}
},
"greaterOrEquals": 1
}
]
},
"then": {
"effect": "[parameters('effect')]",
"details": {
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
],
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"privateDnsZoneId": {
"type": "string"
},
"privateEndpointName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('privateEndpointName'), '/deployedByPolicy')]",
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"apiVersion": "2020-03-01",
"location": "[parameters('location')]",
"properties": {
"privateDnsZoneConfigs": [
{
"name": "cosmosDB-privateDnsZone",
"properties": {
"privateDnsZoneId": "[parameters('privateDnsZoneId')]"
}
}
]
}
}
]
},
"parameters": {
"privateDnsZoneId": {
"value": "[parameters('privateDnsZoneId')]"
},
"privateEndpointName": {
"value": "[field('name')]"
},
"location": {
"value": "[field('location')]"
}
}
}
}
}
}
},
"parameters": {
"privateDnsZoneId": {
"type": "String",
"metadata": {
"displayName": "Private Dns Zone Id",
"description": "The private DNS zone to deploy in a new private DNS zone group and link to the private endpoint",
"strongType": "Microsoft.Network/privateDnsZones"
}
},
"privateEndpointGroupId": {
"type": "String",
"metadata": {
"displayName": "Private Endpoint Group Id",
"description": "A group Id for the private endpoint"
}
},
"effect": {
"type": "String",
"metadata": {
"displayName": "Effect",
"description": "Enable or disable the execution of the policy"
},
"allowedValues": [
"DeployIfNotExists",
"Disabled"
],
"defaultValue": "DeployIfNotExists"
}
}
}
İlke atamaları
İlke tanımları dağıtıldıktan sonra, ilkeleri yönetim grubu hiyerarşinizde istediğiniz kapsamda atayın. İlke atamalarının, uygulama ekiplerinin PaaS hizmetlerini özel uç nokta erişimiyle özel olarak dağıtmak için kullandığı Azure aboneliklerini hedeflediğinden emin olun.
Önemli
İlkede tanımlanan roleDefinition atamasına ek olarak, özel DNS bölgelerinin barındırıldığı abonelik ve kaynak grubunda Özel DNS Bölge Katılımcısı rolü rolünü, özel DNS bölgesinde özel uç nokta DNS kaydını oluşturmak ve yönetmekle sorumlu olacak ilke ataması tarafından DeployIfNotExists
oluşturulan yönetilen kimliğe atamayı unutmayın. Bunun nedeni, özel uç noktanın uygulama sahibi Azure aboneliğinde, özel DNS bölgesinin ise farklı bir abonelikte (merkezi bağlantı aboneliği gibi) bulunmasıdır.
Platform ekibi yapılandırmayı tamamladıktan sonra:
- Uygulama ekiplerinin Azure abonelikleri, ekibin özel uç nokta erişimine sahip Azure PaaS hizmetlerini oluşturması için hazırdır.
- Ekip, özel uç noktaların DNS kayıtlarının ilgili özel DNS bölgelerinden otomatik olarak kaydedildiğinden (ve özel uç nokta silindikten sonra kaldırıldıktan) emin olmalıdır.
Uygulama sahibi deneyimi
Platform ekibi platform altyapısı bileşenlerini (özel DNS bölgeleri ve ilkeleri) dağıttığında, uygulama sahibi Azure aboneliğine bir Azure PaaS hizmeti dağıtmaya çalıştığında aşağıdaki deneyime sahiptir. Abonelikleri Azure ilkeleri idare ettiğinden bu deneyim, etkinliklerini Azure portalı veya PowerShell veya CLI gibi diğer istemciler aracılığıyla gerçekleştirse de aynıdır.
Azure portalı üzerinden bir depolama hesabı oluşturun. Temel Bilgiler sekmesinde istediğiniz ayarları seçin, depolama hesabınız için bir ad girin ve İleri'yi seçin.
Ağ sekmesinde Özel uç nokta'yı seçin. Özel uç nokta dışında bir seçenek belirtirseniz Azure portalı, dağıtım sihirbazının Gözden Geçir ve oluştur bölümünde depolama hesabı oluşturmanıza izin vermez. İlke, genel uç nokta etkinse bu hizmeti oluşturmanızı engeller.
Özel uç noktayı şimdi veya depolama hesabını oluşturduktan sonra oluşturabilirsiniz. Bu örnekte, depolama hesabı oluşturulduktan sonra özel uç noktanın oluşturulması gösterilmektedir. Adımı tamamlamak için Gözden geçir + oluştur'u seçin.
Depolama hesabını oluşturduktan sonra Azure portalı aracılığıyla özel bir uç nokta oluşturun.
Kaynak bölümünde, önceki adımda oluşturduğunuz depolama hesabını bulun. Hedef alt kaynak altında Blob'a ve ardından İleri'ye tıklayın.
Yapılandırma bölümünde, sanal ağınızı ve alt ağınızı seçtikten sonra Özel DNS bölgesiyle tümleştir seçeneğinin Hayır olarak ayarlandığından emin olun. Aksi takdirde, Azure portalı özel uç nokta oluşturmanızı engeller. Azure İlkesi ön ekine sahip bir özel DNS bölgesi oluşturmanıza
privatelink
izin vermez.Gözden geçir ve oluştur'u ve ardından Oluştur'u seçerek özel uç noktayı dağıtın.
Birkaç dakika
DeployIfNotExists
sonra ilke tetikler. SonrakidnsZoneGroup
dağıtım, merkezi olarak yönetilen DNS bölgesinde özel uç nokta için gerekli DNS kayıtlarını ekler.Özel uç noktayı oluşturduktan sonra seçin ve FQDN'sini ve özel IP'sini gözden geçirin:
Özel uç noktanın oluşturulduğu kaynak grubunun etkinlik günlüğünü denetleyin. İsterseniz özel uç noktanın etkinlik günlüğünü de de kontrol edebilirsiniz. Birkaç dakika sonra bir
DeployIfNotExist
ilke eyleminin çalıştığını ve özel uç noktada DNS bölge grubunu yapılandırdığını fark edeceksiniz:Merkezi ağ ekibi özel DNS bölgesine giderse
privatelink.blob.core.windows.net
, oluşturduğunuz özel uç nokta için DNS kaydının orada olduğunu ve hem ad hem de IP adresinin özel uç nokta içindeki değerlerle eşleşip eşleşmediğini onaylar.
Bu noktada, uygulama ekipleri depolama hesabını merkez-uç ağ ortamındaki herhangi bir sanal ağdan ve şirket içinden özel bir uç nokta üzerinden kullanabilir. DNS kaydı, özel DNS bölgesine otomatik olarak kaydedilir.
Bir uygulama sahibi özel uç noktayı silerse, özel DNS bölgesindeki ilgili kayıtlar otomatik olarak kaldırılır.
Sonraki adımlar
Şirket içi ve Azure kaynakları için DNS'i gözden geçirin. Sanal makine uzaktan erişimi için plan'ı gözden geçirin.
Önemli
Bu makalede, Yönetim Grubuna atanan DINE (DeployIfNotExists) ilkelerini kullanarak dns ve özel bağlantı tümleştirmesi büyük ölçekte özetlenmektedir. Bu, ilkeler tarafından işlendiği için bu yaklaşımla Özel Uç Noktalar oluştururken kodda DNS tümleştirmesini işlemeye gerek olmadığı anlamına gelir. Ayrıca uygulama ekiplerinin merkezi Özel DNS Bölgelerine de RBAC erişimi olması olası değildir.
Aşağıda, Bicep ve HashiCorp Terraform ile Özel Uç Nokta oluştururken gözden geçirmenizi sağlayan yararlı bağlantılar yer almaktadır.
Kod Olarak Altyapı ile Özel Uç Nokta oluşturma için:
Hızlı Başlangıç Bicep kullanarak özel uç nokta oluşturma.
Terrafrom Kayıt Defteri'nde HashiCorp Terraform azurerm_private_endpoint kullanarak özel uç nokta oluşturun.
Ancak Kod Olarak Altyapı araçlarınızda özel uç noktalar oluşturmaya devam edebilirsiniz. Ancak, bu makalede açıklanan DINE ilke yaklaşımını kullanıyorsanız, DNS tümleştirmesini kodunuzun dışında bırakmanız ve bunun yerine Özel DNS Bölgeleri için gerekli RBAC'ye sahip DINE ilkelerinin bunu işlemesine izin vermelisiniz.