Azure Dosya Eşitleme genel ve özel ağ uç noktalarını yapılandırma
Makale
Azure Dosyalar ve Azure Dosya Eşitleme, Azure dosya paylaşımlarına erişmek için iki ana uç nokta türü sağlar:
Genel IP adresine sahip olan ve dünyanın her yerinden erişilebilen genel uç noktalar.
Bir sanal ağ içinde bulunan ve bu sanal ağın adres alanının içinden özel IP adresine sahip olan özel uç noktalar.
Hem Azure Dosyalar hem de Azure Dosya Eşitleme için Azure yönetim nesneleri (depolama hesabı ve Depolama Eşitleme Hizmeti) hem genel hem de özel uç noktaları denetler. Depolama hesabı, birden çok dosya paylaşımının yanı sıra bloblar veya kuyruklar gibi diğer depolama kaynaklarını dağıtabileceğiniz paylaşılan bir depolama havuzunu temsil eden bir yönetim yapısıdır. Depolama Eşitleme Hizmeti, Azure Dosya Eşitleme ile yerleşik güven ilişkisine sahip Windows dosya sunucuları ve eşitleme ilişkisinin topolojisini tanımlayan eşitleme grupları olan kayıtlı sunucuları temsil eden bir yönetim yapısıdır.
Bu makalede hem Azure Dosyalar hem de Azure Dosya Eşitleme için ağ uç noktalarını yapılandırmaya odaklanılır. Azure Dosya Eşitleme ile şirket içinde önbelleğe almak yerine azure dosya paylaşımlarına doğrudan erişmek için ağ uç noktalarını yapılandırma hakkında daha fazla bilgi edinmek için bkz. Azure Dosyalar ağ uç noktalarını yapılandırma.
Bir Azure aboneliğiniz var. Henüz aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Şirket içinden bağlanmak istediğiniz bir depolama hesabında zaten bir Azure dosya paylaşımı oluşturdunuz. Azure dosya paylaşımı oluşturmayı öğrenmek için bkz . Azure dosya paylaşımı oluşturma.
Azure PowerShell kullanmak istiyorsanız en son sürümü yükleyin.
Azure CLI kullanmayı planlıyorsanız en son sürümü yükleyin.
Özel uç noktaları oluşturma
Bir Azure kaynağı için özel uç nokta oluşturduğunuzda aşağıdaki kaynaklar dağıtılır:
Özel uç nokta: Depolama hesabı veya Depolama Eşitleme Hizmeti için özel uç noktayı temsil eden bir Azure kaynağı. Bunu Azure kaynağınızı ve ağ arabirimini bağlayan bir kaynak olarak düşünün.
Ağ arabirimi (NIC):Belirtilen sanal ağ/alt ağ içinde özel IP adresi tutan ağ arabirimi. Bu, bir sanal makine (VM) dağıttığınızda dağıtılan kaynakla aynıdır, ancak vm'ye atanmak yerine özel uç noktaya aittir.
Özel DNS bölgesi: Bu sanal ağ için daha önce hiç özel uç nokta dağıtmadıysanız, sanal ağınız için yeni bir özel DNS bölgesi dağıtılır. Bu DNS bölgesindeki Azure kaynağı için bir DNS A kaydı da oluşturulur. Bu sanal ağda zaten özel bir uç nokta dağıttıysanız, mevcut DNS bölgesine yeni bir Azure kaynağı için A kaydı eklenir. DNS bölgesi dağıtmak isteğe bağlıdır, ancak gerekli DNS yönetimini basitleştirmek için kesinlikle önerilir.
Not
Bu makalede Azure Genel bölgeleri, core.windows.net depolama hesapları ve afs.azure.net Depolama Eşitleme Hizmetleri için DNS son ekleri kullanılır. Bu, Azure US Government bulutu gibi Azure Bağımsız bulutları için de geçerlidir. Ortamınız için uygun son ekleri değiştirmeniz gerekir.
Özel uç nokta oluşturmak istediğiniz depolama hesabına gidin. Depolama hesabının içindekiler tablosunda Ağ, Özel uç nokta bağlantıları'nı ve ardından + Özel uç nokta'yı seçerek yeni bir özel uç nokta oluşturun.
Sonuçta elde edilen sihirbazın tamamlanması gereken birden çok sayfası vardır.
Temel Bilgiler dikey penceresinde, özel uç noktanız için istediğiniz aboneliği, kaynak grubunu, adı, ağ arabirimi adını ve bölgeyi seçin. Bunlar istediğiniz her şey olabilir; depolama hesabıyla hiçbir şekilde eşleşmeleri gerekmez, ancak özel uç noktayı oluşturmak istediğiniz sanal ağ ile aynı bölgede oluşturmanız gerekir. Ardından İleri: Kaynak'ı seçin.
Kaynak dikey penceresinde hedef alt kaynak için dosya seçin. Ardından İleri: Sanal Ağ'i seçin.
Sanal Ağ dikey penceresi, özel uç noktanızı eklemek istediğiniz belirli sanal ağı ve alt ağı seçmenize olanak tanır. Yeni özel uç nokta için dinamik veya statik IP adresi ayırmayı seçin. Statik'i seçerseniz bir ad ve özel IP adresi de sağlamanız gerekir. İsteğe bağlı olarak bir uygulama güvenlik grubu da belirtebilirsiniz. İşiniz bittiğinde İleri: DNS'yi seçin.
DNS dikey penceresi, özel uç noktanızı özel bir DNS bölgesiyle tümleştirmeye yönelik bilgileri içerir. Aboneliğin ve kaynak grubunun doğru olduğundan emin olun ve İleri: Etiketler'i seçin.
İsteğe bağlı olarak tüm test kaynaklarına Ortam adını ve Test değerini uygulama gibi kaynaklarınızı kategorilere ayırmak için etiketler uygulayabilirsiniz. İsterseniz ad/değer çiftleri girin ve ardından İleri: Gözden Geçir + oluştur'u seçin.
Özel uç noktayı oluşturmak için Gözden geçir + oluştur'a tıklayın.
Sanal ağınızın içinde bir VM'niz varsa veya DNS iletmeyi Azure Dosyalar için DNS iletmeyi yapılandırma bölümünde açıklandığı gibi yapılandırdıysanız, PowerShell, komut satırı veya terminalden (Windows, Linux veya macOS için çalışır) aşağıdaki komutları çalıştırarak özel uç noktanızın doğru ayarlandığını test edebilirsiniz. değerini uygun depolama hesabı adıyla değiştirmeniz <storage-account-name> gerekir:
Her şey başarıyla çalışıyorsa, sanal ağınızdaki özel uç noktanın (Windows için gösterilen çıkış) özel IP adresi olan 192.168.0.5 aşağıdaki çıkışı görmeniz gerekir:
Depolama hesabınız için özel uç nokta oluşturmak için öncelikle depolama hesabınıza ve özel uç noktayı eklemek istediğiniz sanal ağ alt ağına bir başvuru almanız gerekir. , , <storage-account-name>, <vnet-resource-group-name><vnet-name>ve <vnet-subnet-name> altlarını değiştirin<storage-account-resource-group-name>:
$storageAccountResourceGroupName = "<storage-account-resource-group-name>"
$storageAccountName = "<storage-account-name>"
$virtualNetworkResourceGroupName = "<vnet-resource-group-name>"
$virtualNetworkName = "<vnet-name>"
$subnetName = "<vnet-subnet-name>"
# Get storage account reference, and throw error if it doesn't exist
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $storageAccountResourceGroupName `
-Name $storageAccountName `
-ErrorAction SilentlyContinue
if ($null -eq $storageAccount) {
$errorMessage = "Storage account $storageAccountName not found "
$errorMessage += "in resource group $storageAccountResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get virtual network reference, and throw error if it doesn't exist
$virtualNetwork = Get-AzVirtualNetwork `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $virtualNetworkName `
-ErrorAction SilentlyContinue
if ($null -eq $virtualNetwork) {
$errorMessage = "Virtual network $virtualNetworkName not found "
$errorMessage += "in resource group $virtualNetworkResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get reference to virtual network subnet, and throw error if it doesn't exist
$subnet = $virtualNetwork | `
Select-Object -ExpandProperty Subnets | `
Where-Object { $_.Name -eq $subnetName }
if ($null -eq $subnet) {
Write-Error `
-Message "Subnet $subnetName not found in virtual network $virtualNetworkName." `
-ErrorAction Stop
}
Özel uç nokta oluşturmak için depolama hesabına bir özel bağlantı hizmeti bağlantısı oluşturmanız gerekir. Özel bağlantı hizmeti bağlantısı, özel uç noktanın oluşturulmasına yönelik bir giriştir.
# Disable private endpoint network policies
$subnet.PrivateEndpointNetworkPolicies = "Disabled"
$virtualNetwork = $virtualNetwork | `
Set-AzVirtualNetwork -ErrorAction Stop
# Create a private link service connection to the storage account.
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "$storageAccountName-Connection" `
-PrivateLinkServiceId $storageAccount.Id `
-GroupId "file" `
-ErrorAction Stop
# Create a new private endpoint.
$privateEndpoint = New-AzPrivateEndpoint `
-ResourceGroupName $storageAccountResourceGroupName `
-Name "$storageAccountName-PrivateEndpoint" `
-Location $virtualNetwork.Location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection `
-ErrorAction Stop
Azure özel DNS bölgesi oluşturmak, sanal ağın içindeki özel IP'ye çözümlenmesi gibi storageaccount.file.core.windows.net depolama hesabının özgün adını etkinleştirir. Özel uç nokta oluşturma açısından isteğe bağlı olsa da, Azure dosya paylaşımını doğrudan AD kullanıcı sorumlusu kullanarak bağlamak veya REST API aracılığıyla erişmek için açıkça gereklidir.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
$storageAccountSuffix = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
$dnsZoneName = "privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
$dnsZone = Get-AzPrivateDnsZone | `
Where-Object { $_.Name -eq $dnsZoneName } | `
Where-Object {
$privateDnsLink = Get-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $_.ResourceGroupName `
-ZoneName $_.Name `
-ErrorAction SilentlyContinue
$privateDnsLink.VirtualNetworkId -eq $virtualNetwork.Id
}
if ($null -eq $dnsZone) {
# No matching DNS zone attached to virtual network, so create new one.
$dnsZone = New-AzPrivateDnsZone `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsZoneName `
-ErrorAction Stop
$privateDnsLink = New-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $virtualNetworkResourceGroupName `
-ZoneName $dnsZoneName `
-Name "$virtualNetworkName-DnsLink" `
-VirtualNetworkId $virtualNetwork.Id `
-ErrorAction Stop
}
Artık özel DNS bölgesine bir başvurunuz olduğuna göre, depolama hesabınız için bir A kaydı oluşturmanız gerekir.
Sanal ağınızın içinde bir VM'niz varsa veya DNS iletmeyi Azure Dosyalar için DNS iletmeyi yapılandırma bölümünde açıklandığı gibi yapılandırdıysanız, aşağıdaki komutlarla özel uç noktanızın doğru ayarlandığını test edebilirsiniz:
Her şey başarıyla çalışıyorsa aşağıdaki çıkışı görmeniz gerekir; burada 192.168.0.5 sanal ağınızdaki özel uç noktanın özel IP adresidir:
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.windows CNAME 60 Answer storageaccount.privatelink.file.core.windows.net
.net
Name : storageaccount.privatelink.file.core.windows.net
QueryType : A
TTL : 600
Section : Answer
IP4Address : 192.168.0.5
Depolama hesabınız için özel uç nokta oluşturmak için öncelikle depolama hesabınıza ve özel uç noktayı eklemek istediğiniz sanal ağ alt ağına bir başvuru almanız gerekir. , , <storage-account-name>, <vnet-resource-group-name><vnet-name>ve <vnet-subnet-name> altlarını değiştirin<storage-account-resource-group-name>:
storageAccountResourceGroupName="<storage-account-resource-group-name>"
storageAccountName="<storage-account-name>"
virtualNetworkResourceGroupName="<vnet-resource-group-name>"
virtualNetworkName="<vnet-name>"
subnetName="<vnet-subnet-name>"
# Get storage account ID
storageAccount=$(az storage account show \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--query "id" | \
tr -d '"')
# Get virtual network ID
virtualNetwork=$(az network vnet show \
--resource-group $virtualNetworkResourceGroupName \
--name $virtualNetworkName \
--query "id" | \
tr -d '"')
# Get subnet ID
subnet=$(az network vnet subnet show \
--resource-group $virtualNetworkResourceGroupName \
--vnet-name $virtualNetworkName \
--name $subnetName \
--query "id" | \
tr -d '"')
Özel uç nokta oluşturmak için önce alt ağın özel uç nokta ağ ilkesinin devre dışı olarak ayarlandığından emin olmanız gerekir. Ardından komutuyla az network private-endpoint create özel bir uç nokta oluşturabilirsiniz.
Azure özel DNS bölgesi oluşturmak, sanal ağın içindeki özel IP'ye çözümlenmesi gibi storageaccount.file.core.windows.net depolama hesabının özgün adını etkinleştirir. Özel uç nokta oluşturma açısından isteğe bağlı olsa da, AD kullanıcı sorumlusu kullanarak Azure dosya paylaşımını bağlamak veya REST API aracılığıyla erişmek için açıkça gereklidir.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
storageAccountSuffix=$(az cloud show \
--query "suffixes.storageEndpoint" | \
tr -d '"')
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
dnsZoneName="privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
possibleDnsZones=""
possibleDnsZones=$(az network private-dns zone list \
--query "[?name == '$dnsZoneName'].id" \
--output tsv)
dnsZone=""
possibleDnsZone=""
for possibleDnsZone in $possibleDnsZones
do
possibleResourceGroupName=$(az resource show \
--ids $possibleDnsZone \
--query "resourceGroup" | \
tr -d '"')
link=$(az network private-dns link vnet list \
--resource-group $possibleResourceGroupName \
--zone-name $dnsZoneName \
--query "[?virtualNetwork.id == '$virtualNetwork'].id" \
--output tsv)
if [ -z $link ]
then
echo "1" > /dev/null
else
dnsZoneResourceGroup=$possibleResourceGroupName
dnsZone=$possibleDnsZone
break
fi
done
if [ -z $dnsZone ]
then
# No matching DNS zone attached to virtual network, so create a new one
dnsZone=$(az network private-dns zone create \
--resource-group $virtualNetworkResourceGroupName \
--name $dnsZoneName \
--query "id" | \
tr -d '"')
az network private-dns link vnet create \
--resource-group $virtualNetworkResourceGroupName \
--zone-name $dnsZoneName \
--name "$virtualNetworkName-DnsLink" \
--virtual-network $virtualNetwork \
--registration-enabled false \
--output none
dnsZoneResourceGroup=$virtualNetworkResourceGroupName
fi
Artık özel DNS bölgesine bir başvurunuz olduğuna göre, depolama hesabınız için bir A kaydı oluşturmanız gerekir.
privateEndpointNIC=$(az network private-endpoint show \
--ids $privateEndpoint \
--query "networkInterfaces[0].id" | \
tr -d '"')
privateEndpointIP=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[0].privateIPAddress" | \
tr -d '"')
az network private-dns record-set a create \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--name $storageAccountName \
--output none
az network private-dns record-set a add-record \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--record-set-name $storageAccountName \
--ipv4-address $privateEndpointIP \
--output none
Sanal ağınızın içinde bir VM'niz varsa veya DNS iletmeyi Azure Dosyalar için DNS iletmeyi yapılandırma bölümünde açıklandığı gibi yapılandırdıysanız, aşağıdaki komutlarla özel uç noktanızın doğru ayarlandığını test edebilirsiniz:
Azure portalının üst kısmındaki arama çubuğuna Özel Bağlantı yazarak Özel Bağlantı Merkezi'ne gidin. Özel Bağlantı Merkezi içindekiler tablosunda Özel uç noktalar'ı ve ardından + Ekle'yi seçerek yeni bir özel uç nokta oluşturun.
Sonuçta elde edilen sihirbazın tamamlanması gereken birden çok sayfası vardır.
Temel Bilgiler dikey penceresinde, özel uç noktanız için istediğiniz kaynak grubunu, adını ve bölgesini seçin. Bunlar istediğiniz her şey olabilir; depolama eşitleme hizmetiyle hiçbir şekilde eşleşmeleri gerekmez, ancak özel uç noktayı oluşturmak istediğiniz sanal ağ ile aynı bölgede oluşturmanız gerekir.
Kaynak dikey penceresinde, Dizinimdeki bir Azure kaynağına bağlan için radyo düğmesini seçin. Kaynak türü altında kaynak türü için Microsoft.StorageSync/storageSyncServices'i seçin.
Yapılandırma dikey penceresi, özel uç noktanızı eklemek istediğiniz belirli sanal ağı ve alt ağı seçmenize olanak tanır. Yukarıdaki depolama hesabı için kullandığınız sanal ağın aynısını seçin. Yapılandırma dikey penceresi, özel DNS bölgesini oluşturma/güncelleştirme bilgilerini de içerir.
Özel uç nokta oluşturmak için Gözden geçir + oluştur'u seçin.
Aşağıdaki PowerShell komutlarını çalıştırarak özel uç noktanızın doğru ayarlandığını test edebilirsiniz.
Her şey düzgün çalışıyorsa , , 192.168.1.6ve 192.168.1.7 'nin özel uç noktaya atanmış özel IP adresleri olduğu 192.168.1.4192.168.1.5aşağıdaki çıkışı görmeniz gerekir:
Name : mysssmanagement.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : mysssmanagement.westus2.privatelink.afs.azure.net
Name : mysssmanagement.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.4
Name : myssssyncp.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : myssssyncp.westus2.privatelink.afs.azure.net
Name : myssssyncp.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.5
Name : myssssyncs.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : myssssyncs.westus2.privatelink.afs.azure.net
Name : myssssyncs.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.6
Name : mysssmonitoring.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : mysssmonitoring.westus2.privatelink.afs.azure.net
Name : mysssmonitoring.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.7
Depolama Eşitleme Hizmetiniz için özel bir uç nokta oluşturmak için önce Depolama Eşitleme Hizmetinize bir başvuru almanız gerekir. ve <storage-sync-service> değerlerini ortamınız için doğru değerlerle değiştirmeyi <storage-sync-service-resource-group> unutmayın. Aşağıdaki PowerShell komutları, sanal ağ bilgilerini zaten doldurduğunuz varsayılır.
$storageSyncServiceResourceGroupName = "<storage-sync-service-resource-group>"
$storageSyncServiceName = "<storage-sync-service>"
$storageSyncService = Get-AzStorageSyncService `
-ResourceGroupName $storageSyncServiceResourceGroupName `
-Name $storageSyncServiceName `
-ErrorAction SilentlyContinue
if ($null -eq $storageSyncService) {
$errorMessage = "Storage Sync Service $storageSyncServiceName not found "
$errorMessage += "in resource group $storageSyncServiceResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
Özel uç nokta oluşturmak için Depolama Eşitleme Hizmeti'ne bir özel bağlantı hizmeti bağlantısı oluşturmanız gerekir. Özel bağlantı bağlantısı, özel uç noktanın oluşturulmasına yönelik bir giriştir.
# Disable private endpoint network policies
$subnet.PrivateEndpointNetworkPolicies = "Disabled"
$virtualNetwork = $virtualNetwork | `
Set-AzVirtualNetwork -ErrorAction Stop
# Create a private link service connection to the storage account.
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "$storageSyncServiceName-Connection" `
-PrivateLinkServiceId $storageSyncService.ResourceId `
-GroupId "Afs" `
-ErrorAction Stop
# Create a new private endpoint.
$privateEndpoint = New-AzPrivateEndpoint `
-ResourceGroupName $storageSyncServiceResourceGroupName `
-Name "$storageSyncServiceName-PrivateEndpoint" `
-Location $virtualNetwork.Location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection `
-ErrorAction Stop
Azure özel DNS bölgesi oluşturmak, Depolama Eşitleme Hizmeti'nin ana bilgisayar adlarının ( gibi mysssmanagement.westus2.afs.azure.net) sanal ağın içindeki Depolama Eşitleme Hizmeti için doğru özel IP'lere çözümlenmesini sağlar. Özel uç nokta oluşturma açısından isteğe bağlı olsa da, Azure Dosya Eşitleme aracısının Depolama Eşitleme Hizmeti'ne erişmesi açıkça gereklidir.
# Get the desired Storage Sync Service suffix (afs.azure.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
$azureEnvironment = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty Name
switch($azureEnvironment) {
"AzureCloud" {
$storageSyncSuffix = "afs.azure.net"
}
"AzureUSGovernment" {
$storageSyncSuffix = "afs.azure.us"
}
"AzureChinaCloud" {
$storageSyncSuffix = "afs.azure.cn"
}
default {
Write-Error
-Message "The Azure environment $_ is not currently supported by Azure File Sync." `
-ErrorAction Stop
}
}
# For public cloud, this will generate the following DNS suffix:
# privatelink.afs.azure.net
$dnsZoneName = "privatelink.$storageSyncSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
$dnsZone = Get-AzPrivateDnsZone | `
Where-Object { $_.Name -eq $dnsZoneName } | `
Where-Object {
$privateDnsLink = Get-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $_.ResourceGroupName `
-ZoneName $_.Name `
-ErrorAction SilentlyContinue
$privateDnsLink.VirtualNetworkId -eq $virtualNetwork.Id
}
if ($null -eq $dnsZone) {
# No matching DNS zone attached to virtual network, so create new one.
$dnsZone = New-AzPrivateDnsZone `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsZoneName `
-ErrorAction Stop
$privateDnsLink = New-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $virtualNetworkResourceGroupName `
-ZoneName $dnsZoneName `
-Name "$virtualNetworkName-DnsLink" `
-VirtualNetworkId $virtualNetwork.Id `
-ErrorAction Stop
}
Artık özel DNS bölgesine bir başvurunuz olduğuna göre, Depolama Eşitleme Hizmetiniz için bir A kaydı oluşturmanız gerekir.
Depolama Eşitleme Hizmetiniz için özel bir uç nokta oluşturmak için önce Depolama Eşitleme Hizmetinize bir başvuru almanız gerekir. ve <storage-sync-service> değerlerini ortamınız için doğru değerlerle değiştirmeyi <storage-sync-service-resource-group> unutmayın. Aşağıdaki CLI komutlarında, sanal ağ bilgilerini zaten doldurduğunuz varsayılır.
Özel uç nokta oluşturmak için önce alt ağın özel uç nokta ağ ilkesinin devre dışı olarak ayarlandığından emin olmanız gerekir. Ardından komutuyla az network private-endpoint create özel bir uç nokta oluşturabilirsiniz.
Azure özel DNS bölgesi oluşturmak, Depolama Eşitleme Hizmeti'nin ana bilgisayar adlarının ( gibi mysssmanagement.westus2.afs.azure.net) sanal ağın içindeki Depolama Eşitleme Hizmeti için doğru özel IP'lere çözümlenmesini sağlar. Özel uç nokta oluşturma açısından isteğe bağlı olsa da, Azure Dosya Eşitleme aracısının Depolama Eşitleme Hizmeti'ne erişmesi açıkça gereklidir.
# Get the desired storage account suffix (afs.azure.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
azureEnvironment=$(az cloud show \
--query "name" |
tr -d '"')
storageSyncSuffix=""
if [ $azureEnvironment == "AzureCloud" ]
then
storageSyncSuffix="afs.azure.net"
elif [ $azureEnvironment == "AzureUSGovernment" ]
then
storageSyncSuffix="afs.azure.us"
else
echo "Unsupported Azure environment $azureEnvironment."
fi
# For public cloud, this will generate the following DNS suffix:
# privatelinke.afs.azure.net.
dnsZoneName="privatelink.$storageSyncSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
possibleDnsZones=""
possibleDnsZones=$(az network private-dns zone list \
--query "[?name == '$dnsZoneName'].id" \
--output tsv)
dnsZone=""
possibleDnsZone=""
for possibleDnsZone in $possibleDnsZones
do
possibleResourceGroupName=$(az resource show \
--ids $possibleDnsZone \
--query "resourceGroup" | \
tr -d '"')
link=$(az network private-dns link vnet list \
--resource-group $possibleResourceGroupName \
--zone-name $dnsZoneName \
--query "[?virtualNetwork.id == '$virtualNetwork'].id" \
--output tsv)
if [ -z $link ]
then
echo "1" > /dev/null
else
dnsZoneResourceGroup=$possibleResourceGroupName
dnsZone=$possibleDnsZone
break
fi
done
if [ -z $dnsZone ]
then
# No matching DNS zone attached to virtual network, so create a new one
dnsZone=$(az network private-dns zone create \
--resource-group $virtualNetworkResourceGroupName \
--name $dnsZoneName \
--query "id" | \
tr -d '"')
az network private-dns link vnet create \
--resource-group $virtualNetworkResourceGroupName \
--zone-name $dnsZoneName \
--name "$virtualNetworkName-DnsLink" \
--virtual-network $virtualNetwork \
--registration-enabled false \
--output none
dnsZoneResourceGroup=$virtualNetworkResourceGroupName
fi
Artık özel DNS bölgesine bir başvurunuz olduğuna göre, Depolama Eşitleme Hizmetiniz için bir A kaydı oluşturmanız gerekir.
privateEndpointNIC=$(az network private-endpoint show \
--ids $privateEndpoint \
--query "networkInterfaces[0].id" | \
tr -d '"')
privateIpAddresses=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[].privateIpAddress" \
--output tsv)
hostNames=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[].privateLinkConnectionProperties.fqdns[]" \
--output tsv)
i=0
for privateIpAddress in $privateIpAddresses
do
j=0
targetHostName=""
for hostName in $hostNames
do
if [ $i == $j ]
then
targetHostName=$hostName
break
fi
j=$(expr $j + 1)
done
endpointName=$(echo $targetHostName | \
cut -c1-$(expr $(expr index $targetHostName ".") - 1))
az network private-dns record-set a create \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--name "$endpointName.$storageSyncServiceRegion" \
--output none
az network private-dns record-set a add-record \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--record-set-name "$endpointName.$storageSyncServiceRegion" \
--ipv4-address $privateIpAddress \
--output none
i=$(expr $i + 1)
done
Genel uç noktalara erişimi kısıtlama
Hem depolama hesabının hem de Depolama Eşitleme Hizmetleri'nin genel uç noktalarına erişimi kısıtlayabilirsiniz. Genel uç noktaya erişimi kısıtlamak, ağ paketlerinin yalnızca onaylanan konumlardan kabul edilmesini sağlayarak ek güvenlik sağlar.
Depolama hesabı genel uç noktasına erişimi kısıtlama
Genel uç noktaya erişim kısıtlaması, depolama hesabı güvenlik duvarı ayarları kullanılarak yapılır. Genel olarak, bir depolama hesabı için güvenlik duvarı ilkelerinin çoğu ağ erişimini bir veya daha fazla sanal ağa kısıtlar. Depolama hesabına erişimi sanal ağ ile kısıtlamaya yönelik iki yaklaşım vardır:
Depolama hesabı için bir veya daha fazla özel uç nokta oluşturun ve genel uç noktaya erişimi devre dışı bırakın. Bu, yalnızca istenen sanal ağlardan kaynaklanan trafiğin depolama hesabındaki Azure dosya paylaşımlarına erişebilmesini sağlar.
Genel uç noktayı bir veya daha fazla sanal ağ ile kısıtlayın. Bu, hizmet uç noktaları adlı sanal ağın bir özelliğini kullanarak çalışır. Trafiği bir hizmet uç noktası üzerinden bir depolama hesabına kısıtladığınızda, depolama hesabına genel IP adresi üzerinden erişmeye devam edebilirsiniz.
Not
Azure Dosya Eşitleme gibi güvenilen birinci taraf Microsoft hizmetleri depolama hesabına erişmesine izin vermek için, depolama hesabınızda güvenilen hizmetler listesindeki Azure hizmetlerinin bu depolama hesabına erişmesine izin ver özel durumu seçilmelidir. Daha fazla bilgi edinmek için bkz . Güvenilen Azure hizmetlerine erişim izni verme.
Güvenilen Azure hizmetlerine erişim verme ve depolama hesabı genel uç noktasına erişimi devre dışı bırakma
Genel uç noktaya erişim devre dışı bırakıldığında, depolama hesabına özel uç noktaları üzerinden yine erişilebilir. Aksi takdirde depolama hesabının genel uç noktasına yönelik geçerli istekler reddedilir.
Genel uç noktaya tüm erişimi kısıtlamak istediğiniz depolama hesabına gidin. Depolama hesabının içindekiler tablosunda Ağ'ı seçin.
Sayfanın üst kısmında Seçili sanal ağlardan ve IP adreslerinden etkinleştirildi radyo düğmesini seçin. Bu, ortak uç noktanın kısıtlamasını denetlemek için bir dizi ayarı gizler. Azure Dosya Eşitleme gibi güvenilen birinci taraf Microsoft hizmetleri depolama hesabına erişmesine izin vermek için güvenilen hizmetler listesinden Azure hizmetlerine bu depolama hesabına erişmesine izin ver'i seçin.
Aşağıdaki PowerShell komutu, depolama hesabının genel uç noktasına gelen tüm trafiği reddeder. Bu komutun parametresinin -Bypass olarak AzureServicesayarlandığını unutmayın. Bu, Azure Dosya Eşitleme gibi güvenilen birinci taraf hizmetlerinin genel uç nokta üzerinden depolama hesabına erişmesine izin verir.
# This assumes $storageAccount is still defined from the beginning of this of this guide.
$storageAccount | Update-AzStorageAccountNetworkRuleSet `
-DefaultAction Deny `
-Bypass AzureServices `
-WarningAction SilentlyContinue `
-ErrorAction Stop | `
Out-Null
Aşağıdaki CLI komutu, depolama hesabının genel uç noktasına gelen tüm trafiği reddeder. Bu komutun parametresinin -bypass olarak AzureServicesayarlandığını unutmayın. Bu, Azure Dosya Eşitleme gibi güvenilen birinci taraf hizmetlerinin genel uç nokta üzerinden depolama hesabına erişmesine izin verir.
# This assumes $storageAccountResourceGroupName and $storageAccountName
# are still defined from the beginning of this guide.
az storage account update \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--bypass "AzureServices" \
--default-action "Deny" \
--output none
Güvenilen Azure hizmetlerine erişim verme ve depolama hesabı genel uç noktasına erişimi belirli sanal ağlara kısıtlama
Depolama hesabını belirli sanal ağlarla kısıtladığınızda, belirtilen sanal ağların içinden genel uç noktaya yönelik isteklere izin verirsiniz. Bu, hizmet uç noktaları adlı sanal ağın bir özelliğini kullanarak çalışır. Bu, özel uç noktalarla veya özel uç noktalar olmadan kullanılabilir.
Genel uç noktayı belirli sanal ağlara kısıtlamak istediğiniz depolama hesabına gidin. Depolama hesabının içindekiler tablosunda Ağ'ı seçin.
Sayfanın üst kısmında Seçili sanal ağlardan ve IP adreslerinden etkinleştirildi radyo düğmesini seçin. Bu, ortak uç noktanın kısıtlamasını denetlemek için bir dizi ayarı gizler. Genel uç nokta üzerinden depolama hesabına erişmesine izin verilmesi gereken belirli bir sanal ağı seçmek için +Var olan sanal ağı ekle'yi seçin. Bu sanal ağ için bir sanal ağ ve bir alt ağ seçin ve ardından Etkinleştir'i seçin.
Azure Dosya Eşitleme gibi güvenilen birinci taraf Microsoft hizmetleri depolama hesabına erişmesine izin vermek için güvenilen hizmetler listesinden Azure hizmetlerine bu depolama hesabına erişmesine izin ver'i seçin.
Hizmet uç noktalarını kullanarak depolama hesabının genel uç noktasına erişimi belirli sanal ağlarla kısıtlamak için öncelikle depolama hesabı ve sanal ağ hakkında bilgi toplamamız gerekir. <storage-account-resource-group>Bu bilgileri toplamak için , <storage-account-name>, <vnet-resource-group-name>, <vnet-name>ve <subnet-name> girin.
Sanal ağdan gelen trafiğin Azure ağ dokusu tarafından depolama hesabı genel uç noktasına alınmasına izin verilebilmesi için, sanal ağın alt ağında hizmet uç noktasının Microsoft.Storage açık olması gerekir. Aşağıdaki PowerShell komutları, henüz orada değilse hizmet uç noktasını alt ağa ekler Microsoft.Storage .
Hizmet uç noktalarını kullanarak depolama hesabının genel uç noktasına erişimi belirli sanal ağlarla kısıtlamak için öncelikle depolama hesabı ve sanal ağ hakkında bilgi toplamamız gerekir. <storage-account-resource-group>Bu bilgileri toplamak için , <storage-account-name>, <vnet-resource-group-name>, <vnet-name>ve <subnet-name> girin.
Sanal ağdan gelen trafiğin Azure ağ dokusu tarafından depolama hesabı genel uç noktasına alınmasına izin verilebilmesi için, sanal ağın alt ağında hizmet uç noktasının Microsoft.Storage açık olması gerekir. Aşağıdaki CLI komutları, henüz orada değilse hizmet uç noktasını alt ağa ekler Microsoft.Storage .
serviceEndpoints=$(az network vnet subnet show \
--resource-group $restrictToVirtualNetworkResourceGroupName \
--vnet-name $restrictToVirtualNetworkName \
--name $subnetName \
--query "serviceEndpoints[].service" \
--output tsv)
foundStorageServiceEndpoint=false
for serviceEndpoint in $serviceEndpoints
do
if [ $serviceEndpoint = "Microsoft.Storage" ]
then
foundStorageServiceEndpoint=true
fi
done
if [ $foundStorageServiceEndpoint = false ]
then
serviceEndpointList=""
for serviceEndpoint in $serviceEndpoints
do
serviceEndpointList+=$serviceEndpoint
serviceEndpointList+=" "
done
serviceEndpointList+="Microsoft.Storage"
az network vnet subnet update \
--ids $subnet \
--service-endpoints $serviceEndpointList \
--output none
fi
Depolama hesabıyla trafiği kısıtlamanın son adımı bir ağ kuralı oluşturmak ve depolama hesabının ağ kuralı kümesine eklemektir.
Depolama Eşitleme Hizmeti genel uç noktasına erişimi devre dışı bırakma
Azure Dosya Eşitleme yalnızca özel uç noktalar aracılığıyla belirli sanal ağlara erişimi kısıtlamanıza olanak tanır; Azure Dosya Eşitleme, genel uç noktaya erişimi belirli sanal ağlarla kısıtlamak için hizmet uç noktalarını desteklemez. Bu, Depolama Eşitleme Hizmeti'nin genel uç noktasının iki durumunun etkinleştirildiği ve devre dışı bırakıldığını gösterir.
Önemli
Genel uç noktaya erişimi devre dışı bırakmadan önce özel bir uç nokta oluşturmanız gerekir. Genel uç nokta devre dışı bırakılırsa ve özel uç nokta yapılandırılmamışsa eşitleme çalışamaz.
Depolama Eşitleme Hizmeti'ne gidin ve sol gezinti bölmesinden Ayarlar>Ağ'ı seçin.
Erişime izin ver'in altında Yalnızca özel uç noktalar'ı seçin.
Özel uç nokta bağlantıları listesinden bir özel uç nokta seçin.
Depolama Eşitleme Hizmeti'nin genel uç noktasına erişimi devre dışı bırakmak için Depolama Eşitleme Hizmeti'nin özelliğini olarak AllowVirtualNetworksOnlyayarlayınincomingTrafficPolicy. Depolama Eşitleme Hizmeti'nin genel uç noktasına erişimi etkinleştirmek istiyorsanız, bunun yerine olarak AllowAllTraffic ayarlayınincomingTrafficPolicy. ve <storage-sync-service> değerlerini kendi değerlerinizle değiştirmeyi <storage-sync-service-resource-group> unutmayın.
Azure CLI, Depolama Eşitleme Hizmeti'nin özelliğini ayarlamayı incomingTrafficPolicy desteklemez. Depolama Eşitleme Hizmeti genel uç noktasını devre dışı bırakma yönergelerini almak için lütfen Azure PowerShell sekmesini seçin.
Azure İlkesi
Azure İlkesi, kuruluş standartlarının uygulanmasına ve uygun ölçekte bu standartlara karşı uyumluluğun değerlendirilmesinde yardımcı olur. Azure Dosyalar ve Azure Dosya Eşitleme, dağıtımınızı izlemenize ve otomatikleştirmenize yardımcı olan çeşitli yararlı denetim ve düzeltme ağ ilkelerini kullanıma sunar.
İlkeler ortamınızı denetler ve depolama hesaplarınız veya Depolama Eşitleme Hizmetleriniz tanımlanan davranıştan farklıysa sizi uyarır. Örneğin, ilkeniz genel uç noktaları devre dışı olacak şekilde ayarlandığında genel uç nokta etkinleştirildiyse. İlkeleri değiştirme/dağıtma işlemleri bir adım ileri götürür ve bir kaynağı (Depolama Eşitleme Hizmeti gibi) proaktif olarak değiştirir veya ilkelerle uyumlu hale getirmek için kaynakları (özel uç noktalar gibi) dağıtır.
Azure Dosyalar ve Azure Dosya Eşitleme için aşağıdaki önceden tanımlanmış ilkeler kullanılabilir:
Depolama Eşitleme Hizmeti'nin genel uç noktasını devre dışı bırakın.
Değiştir - genel ağ erişimini devre dışı bırakmak için Azure Dosya Eşitleme yapılandırma
Dağıtma
Azure Dosya Eşitleme
Depolama Eşitleme Hizmeti için özel bir uç nokta dağıtın.
Özel uç noktalarla Azure Dosya Eşitleme yapılandırma
Dağıtma
Azure Dosya Eşitleme
privatelink.afs.azure.net DNS bölgesine bir A kaydı dağıtın.
Azure Dosya Eşitleme özel DNS bölgelerini kullanacak şekilde yapılandırma
Özel uç nokta dağıtım ilkesi ayarlama
Özel uç nokta dağıtım ilkesi ayarlamak için Azure portalına gidin ve İlke'yi arayın. Azure İlkesi merkezi en önemli sonuç olmalıdır. İlke >merkezinin içindekiler tablosunda Yazma Tanımları'na gidin. Sonuçta elde edilen Tanımlar bölmesi, tüm Azure hizmetlerinde önceden tanımlanmış ilkeleri içerir. Belirli bir ilkeyi bulmak için kategori filtresinde Depolama kategorisini seçin veya Özel uç noktalarla Azure Dosya Eşitleme yapılandırma araması yapın. Tanımdan yeni bir ilke oluşturmak için ... ve Ata'yı seçin.
İlke atama sihirbazının Temel bilgiler dikey penceresi bir kapsam, kaynak veya kaynak grubu dışlama listesi ayarlamanıza ve ilkenizi ayırt etmeye yardımcı olacak kolay bir ad vermenize olanak tanır. İlkenin çalışması için bunları değiştirmeniz gerekmez, ancak değişiklik yapmak isterseniz değiştirebilirsiniz. Parametreler sayfasına ilerlemek için İleri'yi seçin.
Parametreler dikey penceresinde privateEndpointSubnetId açılan listesinin yanındaki ... öğesini seçerek Depolama Eşitleme Hizmeti kaynaklarınız için özel uç noktaların dağıtılacağı sanal ağı ve alt ağı seçin. Sonuçta elde edilen sihirbazın aboneliğinizdeki kullanılabilir sanal ağları yüklemesi birkaç saniye sürebilir. Ortamınız için uygun sanal ağı/alt ağı seçin ve Seç'e tıklayın. Düzeltme dikey penceresine ilerlemek için İleri'yi seçin.
Özel uç noktası olmayan bir Depolama Eşitleme Hizmeti tanımlandığında özel uç noktanın dağıtılabilmesi için Düzeltme sayfasında Düzeltme görevi oluştur'u seçmeniz gerekir. Son olarak, ilke atamasını gözden geçirmek için Gözden geçir + oluştur'u ve oluşturmak için Oluştur'u seçin.
Sonuçta elde edilen ilke ataması düzenli aralıklara göre yürütülür ve oluşturulduktan hemen sonra çalışmayabilir.