Mengonfigurasi titik akhir jaringan publik dan privat Azure File Sync
Artikel
Azure Files dan Azure File Sync menyediakan dua jenis titik akhir utama untuk mengakses berbagi file Azure:
Titik akhir publik, yang memiliki alamat IP publik dan dapat diakses dari mana saja di seluruh dunia.
Titik akhir privat, yang ada di dalam jaringan virtual dan memiliki alamat IP privat dari dalam ruang alamat jaringan virtual.
Untuk Azure Files dan Azure File Sync, objek manajemen Azure (akun penyimpanan dan Storage Sync Service) mengontrol titik akhir publik dan privat. Akun penyimpanan adalah konstruksi manajemen yang mewakili kumpulan penyimpanan bersama tempat Anda dapat menyebarkan beberapa berbagi file, serta sumber daya penyimpanan lainnya, seperti blob atau antrean. Storage Sync Service adalah konstruksi pengelolaan yang mewakili server terdaftar, yang merupakan server file Windows dengan hubungan kepercayaan yang mapan dengan Azure File Sync, dan grup sinkronisasi, yang menentukan topologi hubungan sinkronisasi.
Artikel ini berfokus pada cara mengonfigurasi titik akhir jaringan untuk Azure Files dan Azure File Sync. Untuk mempelajari lebih lanjut cara mengonfigurasi titik akhir jaringan guna mengakses berbagi file Azure secara langsung, bukan menyimpan cache di lokal dengan Azure File Sync, lihat Mengonfigurasi titik akhir jaringan Azure Files.
Sebaiknya baca pertimbangan jaringan Azure File Sync sebelum membaca panduan cara ini.
Prasyarat
Artikel ini menganggap bahwa:
Anda memiliki langganan Azure. Jika belum memiliki langganan, buat akun gratis sebelum memulai.
Anda telah membuat berbagi file Azure di akun penyimpanan yang ingin Anda sambungkan dari lokal. Untuk mempelajari cara membuat berbagi file Azure, lihat Membuat berbagi file Azure.
Saat Anda membuat titik akhir privat untuk sumber daya Azure, sumber daya berikut disebarkan:
Titik akhir privat: Sumber daya Azure yang mewakili titik akhir privat untuk akun penyimpanan atau Storage Sync Service. Anggap ini sebagai sumber daya yang menghubungkan sumber daya Azure Anda dan antarmuka jaringan.
Antarmuka jaringan (NIC): Antarmuka jaringan yang mempertahankan alamat IP privat di dalam jaringan virtual/subnet tertentu. Ini adalah sumber daya yang sama persis yang disebarkan saat Anda menyebarkan komputer virtual (VM), namun alih-alih ditetapkan ke VM, sumber daya tersebut dimiliki oleh titik akhir privat.
Zona DNS privat: Jika Anda belum pernah menyebarkan titik akhir privat untuk jaringan virtual ini, zona DNS privat baru akan disebarkan untuk jaringan virtual Anda. Data DNS A juga akan dibuat untuk sumber daya Azure di zona DNS ini. Jika Anda telah menyebarkan titik akhir privat di jaringan virtual ini, data A baru untuk sumber daya Azure akan ditambahkan ke zona DNS yang sudah ada. Penyebaran zona DNS bersifat opsional, tetapi sangat disarankan untuk memudahkan pengelolaan DNS yang diperlukan.
Catatan
Artikel ini menggunakan akhiran DNS untuk wilayah Azure Public, core.windows.net untuk akun penyimpanan dan afs.azure.net untuk Storage Sync Service. Ini juga berlaku untuk cloud Azure Sovereign seperti cloud Azure US Government - cukup ganti akhiran yang sesuai untuk lingkungan Anda.
Navigasi ke akun penyimpanan yang ingin Anda buat titik akhir privatnya. Dalam daftar isi untuk akun penyimpanan, pilih Jaringan, Koneksi titik akhir privat, lalu + Titik akhir privat untuk membuat titik akhir privat baru.
Wizard yang dihasilkan memiliki beberapa halaman untuk diselesaikan.
Di bilah Dasar, pilih langganan, grup sumber daya, nama, nama antarmuka jaringan dan wilayah yang diinginkan untuk titik akhir privat Anda. Ini bisa menjadi apa pun yang Anda inginkan dan tidak harus mencocokkan akun penyimpanan dengan cara apa pun, meskipun Anda harus membuat titik akhir privat di wilayah yang sama dengan jaringan virtual yang ingin Anda buat titik akhir privat. Lalu pilih Berikutnya: Sumber Daya.
Di bilah Sumber Daya, pilih file untuk sub-sumber daya target. Kemudian pilih Berikutnya: Virtual Network.
Bilah Virtual Network memungkinkan Anda memilih jaringan virtual dan subnet tertentu yang ingin ditambahkan ke titik akhir privat Anda. Pilih alokasi alamat IP dinamis atau statis untuk titik akhir privat baru. Jika Anda memilih statis, Anda juga harus memberikan nama dan alamat IP privat. Anda juga dapat secara opsional menentukan grup keamanan aplikasi. Setelah selesai, pilih Berikutnya: DNS.
Bilah DNS berisi informasi untuk mengintegrasikan titik akhir privat Anda dengan zona DNS privat. Pastikan langganan dan grup sumber daya benar, lalu pilih Berikutnya: Tag.
Anda dapat secara opsional menerapkan tag untuk mengategorikan sumber daya Anda, seperti menerapkan nama Lingkungan dan nilai Uji ke semua sumber daya pengujian. Masukkan pasangan nama/nilai jika diinginkan, lalu pilih Berikutnya: Tinjau + buat.
Klik Tinjau + buat untuk membuat titik akhir privat.
Jika Anda memiliki VM di dalam jaringan virtual Anda, atau Anda telah mengonfigurasi penerusan DNS seperti yang dijelaskan dalam Mengonfigurasi penerusan DNS untuk Azure Files, Anda dapat menguji bahwa titik akhir privat Anda disiapkan dengan benar dengan menjalankan perintah berikut dari PowerShell, baris perintah, atau terminal (berfungsi untuk Windows, Linux, atau macOS). Anda harus mengganti <storage-account-name> dengan nama akun penyimpanan yang sesuai:
Jika semuanya berhasil, Anda akan melihat output berikut, di mana 192.168.0.5 adalah alamat IP privat titik akhir privat di jaringan virtual Anda (output yang ditampilkan untuk Windows):
Untuk membuat titik akhir pribadi untuk akun penyimpanan Anda, Anda harus terlebih dahulu mendapatkan referensi ke akun penyimpanan Anda dan subnet jaringan virtual tempat Anda ingin menambahkan titik akhir pribadi. Ganti <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name>, dan <vnet-subnet-name> di bawah:
$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
}
Untuk membuat titik akhir pribadi, Anda harus membuat koneksi layanan tautan pribadi ke akun penyimpanan. Koneksi layanan tautan pribadi adalah input untuk pembuatan titik akhir pribadi.
# 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
Membuat zona DNS pribadi Azure memungkinkan nama asli akun penyimpanan, seperti: storageaccount.file.core.windows.net untuk menyelesaikan ke IP pribadi di dalam jaringan virtual. Meskipun opsional dari perspektif membuat titik akhir pribadi, secara eksplisit diperlukan untuk memasang berbagi file Azure secara langsung menggunakan prinsip pengguna AD atau mengakses melalui REST API.
# 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
}
Sekarang setelah Anda memiliki referensi ke zona DNS pribadi, Anda harus membuat catatan A untuk akun penyimpanan Anda.
Jika Anda memiliki VM di dalam jaringan virtual Anda, atau Anda telah mengonfigurasi penerusan DNS seperti yang dijelaskan dalam Mengonfigurasi penerusan DNS untuk Azure Files, Anda dapat menguji bahwa titik akhir privat Anda disiapkan dengan benar dengan perintah berikut:
Jika semuanya berhasil, Anda akan melihat output berikut, di mana 192.168.0.5 adalah alamat IP privat dari titik akhir privat di jaringan virtual Anda:
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
Untuk membuat titik akhir pribadi untuk akun penyimpanan Anda, Anda harus terlebih dahulu mendapatkan referensi ke akun penyimpanan Anda dan subnet jaringan virtual tempat Anda ingin menambahkan titik akhir pribadi. Ganti <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name>, dan <vnet-subnet-name> di bawah:
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 '"')
Untuk membuat titik akhir privat, Anda harus memastikan terlebih dahulu bahwa kebijakan jaringan titik akhir privat subnet diatur ke nonaktif. Kemudian, Anda dapat membuat titik akhir privat dengan perintah az network private-endpoint create.
Membuat zona DNS pribadi Azure memungkinkan nama asli akun penyimpanan, seperti: storageaccount.file.core.windows.net untuk menyelesaikan ke IP pribadi di dalam jaringan virtual. Meskipun opsional dari perspektif pembuatan titik akhir pribadi, secara eksplisit diperlukan untuk memasang berbagi file Azure menggunakan prinsipal pengguna AD atau mengakses melalui REST API.
# 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
Sekarang setelah Anda memiliki referensi ke zona DNS pribadi, Anda harus membuat catatan A untuk akun penyimpanan Anda.
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
Jika Anda memiliki VM di dalam jaringan virtual Anda, atau Anda telah mengonfigurasi penerusan DNS seperti yang dijelaskan dalam Mengonfigurasi penerusan DNS untuk Azure Files, Anda dapat menguji bahwa titik akhir privat Anda disiapkan dengan benar dengan perintah berikut:
Jika semuanya berhasil, Anda akan melihat output berikut, di mana 192.168.0.5 adalah alamat IP privat dari titik akhir privat di jaringan virtual Anda:
Buka Pusat Azure Private Link dengan mengetikkan Azure Private Link ke bilah pencarian di bagian atas portal Azure. Dalam daftar isi Pusat Azure Private Link, pilih Titik akhir privat, lalu + Tambahkan untuk membuat titik akhir privat baru.
Wizard yang dihasilkan memiliki beberapa halaman untuk diselesaikan.
Di bilah Dasar, pilih grup sumber daya, nama, dan wilayah yang diinginkan untuk titik akhir privat Anda. Karena tidak harus cocok dengan Storage Sync Service, Anda dapat mengisinya sesuai keinginan, meskipun Anda harus membuat titik akhir privat di wilayah yang sama dengan jaringan virtual tempat Anda ingin membuat titik akhir privat.
Di bilah Sumber Daya, pilih tombol radio untuk Menyambungkan ke sumber daya Azure di direktori saya. Di bagian Jenis sumber daya, pilih Microsoft.StorageSync/storageSyncServices untuk jenis sumber daya.
Bilah Konfigurasi memungkinkan Anda memilih jaringan virtual dan subnet tertentu yang ingin ditambahkan ke titik akhir privat Anda. Pilih jaringan virtual yang sama dengan yang digunakan untuk akun penyimpanan di atas. Bilah Konfigurasi juga berisi informasi untuk membuat/memperbarui zona DNS pribadi.
Pilih Tinjau + buat untuk membuat titik akhir privat.
Anda dapat menguji bahwa titik akhir privat Anda disiapkan dengan benar dengan menjalankan perintah PowerShell berikut ini.
Jika semuanya berfungsi dengan benar, Anda akan melihat output berikut di mana 192.168.1.4, , 192.168.1.6192.168.1.5, dan 192.168.1.7 adalah alamat IP privat yang ditetapkan ke titik akhir privat:
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
Untuk membuat titik akhir privat untuk Storage Sync Service Anda, pertama-tama Anda harus mendapatkan referensi ke Storage Sync Service Anda. Jangan lupa untuk mengganti <storage-sync-service-resource-group> dan <storage-sync-service> dengan nilai yang benar untuk lingkungan Anda. Perintah PowerShell berikut mengasumsikan bahwa Anda telah mengisi informasi jaringan virtual.
$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
}
Untuk membuat titik akhir privat, Anda harus membuat koneksi layanan tautan privat ke Storage Sync Service. Koneksi tautan privat adalah input ke pembuatan titik akhir privat.
# 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
Membuat ulang zona DNS privat Azure akan mengaktifkan nama host untuk Storage Sync Service, seperti mysssmanagement.westus2.afs.azure.net, untuk mengatasi IP privat yang benar untuk Storage Sync Service di dalam jaringan virtual. Meskipun opsional dari perspektif pembuatan titik akhir privat, agen Azure File Sync secara eksplisit diperlukan untuk mengakses Storage Sync Service.
# 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
}
Sekarang setelah Anda memiliki referensi ke zona DNS privat, Anda harus membuat catatan A untuk Storage Sync Service Anda.
Untuk membuat titik akhir privat untuk Storage Sync Service Anda, pertama-tama Anda harus mendapatkan referensi ke Storage Sync Service Anda. Jangan lupa untuk mengganti <storage-sync-service-resource-group> dan <storage-sync-service> dengan nilai yang benar untuk lingkungan Anda. Perintah CLI berikut mengasumsikan bahwa Anda telah mengisi informasi jaringan virtual.
Untuk membuat titik akhir privat, Anda harus memastikan terlebih dahulu bahwa kebijakan jaringan titik akhir privat subnet diatur ke nonaktif. Kemudian, Anda dapat membuat titik akhir privat dengan perintah az network private-endpoint create.
Membuat ulang zona DNS privat Azure akan mengaktifkan nama host untuk Storage Sync Service, seperti mysssmanagement.westus2.afs.azure.net, untuk mengatasi IP privat yang benar untuk Storage Sync Service di dalam jaringan virtual. Meskipun opsional dari perspektif pembuatan titik akhir privat, agen Azure File Sync secara eksplisit diperlukan untuk mengakses Storage Sync Service.
# 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
Sekarang setelah Anda memiliki referensi ke zona DNS privat, Anda harus membuat catatan A untuk Storage Sync Service Anda.
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
Membatasi akses ke titik akhir publik
Anda dapat membatasi akses ke titik akhir publik akun penyimpanan dan Storage Sync Service. Membatasi akses ke titik akhir publik memberikan keamanan tambahan dengan memastikan bahwa paket jaringan hanya diterima dari lokasi yang disetujui.
Membatasi akses ke titik akhir publik akun penyimpanan
Pembatasan akses ke titik akhir publik dilakukan menggunakan pengaturan firewall akun penyimpanan. Secara umum, sebagian besar kebijakan firewall untuk akun penyimpanan akan membatasi akses jaringan ke satu atau beberapa jaringan virtual. Ada dua pendekatan untuk membatasi akses ke akun penyimpanan ke jaringan virtual:
Buat satu atau beberapa titik akhir privat untuk akun penyimpanan, lalu nonaktifkan akses ke titik akhir publik. Tindakan ini memastikan bahwa hanya lalu lintas yang berasal dari dalam jaringan virtual yang diinginkan dapat mengakses berbagi file Azure dalam akun penyimpanan.
Batasi titik akhir publik ke satu atau beberapa jaringan virtual. Tindakan ini berfungsi dengan menggunakan kapabilitas jaringan virtual yang disebut titik akhir layanan. Saat Anda membatasi lalu lintas ke akun penyimpanan melalui titik akhir layanan, Anda masih mengakses akun penyimpanan melalui alamat IP publik.
Catatan
Daftar Izinkan layanan Azure pada layanan tepercaya untuk mengakses pengecualian akun penyimpanan ini harus dipilih di akun penyimpanan Anda untuk memungkinkan pihak pertama tepercaya layanan Microsoft seperti Azure File Sync untuk mengakses akun penyimpanan. Untuk mempelajari selengkapnya, lihat Memberikan akses ke layanan Azure tepercaya.
Memberikan akses ke layanan Azure tepercaya dan menonaktifkan akses ke titik akhir publik akun penyimpanan
Jika akses ke titik akhir publik dinonaktifkan, akun penyimpanan masih dapat diakses melalui titik akhir privatnya. Jika tidak, permintaan yang valid ke titik akhir publik akun penyimpanan akan ditolak.
Buka akun penyimpanan yang ingin Anda batasi semua akses ke titik akhir publik. Dalam daftar isi untuk akun penyimpanan, pilih Jaringan.
Di bagian atas halaman, pilih tombol radio Diaktifkan dari jaringan virtual dan alamat IP yang dipilih. Tombol ini akan memunculkan sejumlah pengaturan untuk mengontrol pembatasan titik akhir publik. Pilih Izinkan layanan Azure pada daftar layanan tepercaya untuk mengakses akun penyimpanan ini untuk memungkinkan pihak pertama tepercaya layanan Microsoft seperti Azure File Sync untuk mengakses akun penyimpanan.
Perintah PowerShell berikut akan menolak semua lalu lintas ke titik akhir publik akun penyimpanan. Perhatikan bahwa perintah ini memiliki parameter -Bypass yang diatur ke AzureServices. Perintah ini akan memungkinkan layanan pihak pertama tepercaya seperti Sinkronisasi File Azure untuk mengakses akun penyimpanan melalui titik akhir publik.
# 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
Perintah CLI berikut akan menolak semua lalu lintas ke titik akhir publik akun penyimpanan. Perhatikan bahwa perintah ini memiliki parameter -bypass yang diatur ke AzureServices. Perintah ini akan memungkinkan layanan pihak pertama tepercaya seperti Sinkronisasi File Azure untuk mengakses akun penyimpanan melalui titik akhir publik.
# 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
Memberikan akses ke layanan Azure tepercaya dan membatasi akses ke titik akhir publik akun penyimpanan ke jaringan virtual tertentu
Saat Anda membatasi akun penyimpanan ke jaringan virtual tertentu, Anda mengizinkan permintaan ke titik akhir publik dari dalam jaringan virtual yang ditentukan. Tindakan ini berfungsi dengan menggunakan kapabilitas jaringan virtual yang disebut titik akhir layanan. Ini dapat digunakan dengan atau tanpa titik akhhir privat.
Buka akun penyimpanan yang ingin Anda batasi titik akhir publik untuk jaringan virtual tertentu. Dalam daftar isi untuk akun penyimpanan, pilih Jaringan.
Di bagian atas halaman, pilih tombol radio Diaktifkan dari jaringan virtual dan alamat IP yang dipilih. Tombol ini akan memunculkan sejumlah pengaturan untuk mengontrol pembatasan titik akhir publik. Pilih +Tambahkan jaringan virtual yang ada untuk memilih jaringan virtual tertentu yang harus diizinkan untuk mengakses akun penyimpanan melalui titik akhir publik. Pilih jaringan virtual dan subnet untuk jaringan virtual tersebut, lalu pilih Aktifkan.
Pilih Izinkan layanan Azure pada daftar layanan tepercaya untuk mengakses akun penyimpanan ini untuk memungkinkan pihak pertama tepercaya layanan Microsoft seperti Azure File Sync untuk mengakses akun penyimpanan.
Untuk membatasi akses ke titik akhir publik akun penyimpanan ke jaringan virtual tertentu menggunakan titik akhir layanan, kita perlu terlebih dahulu mengumpulkan informasi tentang akun penyimpanan serta jaringan virtual. Masukkan <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name>, serta <subnet-name> untuk mengumpulkan informasi ini.
Agar lalu lintas dari jaringan virtual diizinkan oleh fabrik jaringan Azure untuk sampai ke titik akhir publik akun penyimpanan, subnet jaringan virtual harus mengekspos titik akhir layanan Microsoft.Storage. Perintah PowerShell berikut akan menambahkan Microsoft.Storage titik akhir layanan ke subnet jika belum ada.
Langkah terakhir dalam membatasi lalu lintas ke akun penyimpanan adalah dengan membuat aturan jaringan dan menambahkannya ke seperangkat aturan jaringan akun penyimpanan.
Untuk membatasi akses ke titik akhir publik akun penyimpanan ke jaringan virtual tertentu menggunakan titik akhir layanan, kita perlu terlebih dahulu mengumpulkan informasi tentang akun penyimpanan serta jaringan virtual. Masukkan <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name>, serta <subnet-name> untuk mengumpulkan informasi ini.
Agar lalu lintas dari jaringan virtual diizinkan oleh fabrik jaringan Azure untuk sampai ke titik akhir publik akun penyimpanan, subnet jaringan virtual harus mengekspos titik akhir layanan Microsoft.Storage. Perintah CLI berikut akan menambahkan Microsoft.Storage titik akhir layanan ke subnet jika belum ada.
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
Langkah terakhir dalam membatasi lalu lintas ke akun penyimpanan adalah dengan membuat aturan jaringan dan menambahkannya ke seperangkat aturan jaringan akun penyimpanan.
Menonaktifkan akses ke titik akhir publik Storage Sync Service
Azure File Sync memungkinkan Anda membatasi akses ke jaringan virtual tertentu hanya melalui titik akhir privat; Azure File Sync tidak mendukung titik akhir layanan untuk membatasi akses ke titik akhir publik ke jaringan virtual tertentu. Ini berarti bahwa dua status untuk titik akhir publik Storage Sync Service diaktifkan dan dinonaktifkan.
Penting
Anda harus membuat titik akhir privat sebelum menonaktifkan akses ke titik akhir publik. Jika titik akhir publik dinonaktifkan dan tidak ada titik akhir privat yang dikonfigurasi, sinkronisasi tidak dapat berfungsi.
Navigasi ke Layanan Sinkronisasi Penyimpanan dan pilih Jaringan Pengaturan>dari navigasi kiri.
Di bawah Izinkan akses dari, pilih Titik akhir privat saja.
Pilih titik akhir privat dari daftar Koneksi titik akhir privat.
Untuk menonaktifkan akses ke titik akhir publik Storage Sync Service, atur incomingTrafficPolicy properti pada Storage Sync Service ke AllowVirtualNetworksOnly. Jika Anda ingin mengaktifkan akses ke titik akhir publik Storage Sync Service, atur incomingTrafficPolicy ke AllowAllTraffic sebagai gantinya. Ingatlah untuk mengganti <storage-sync-service-resource-group> dan <storage-sync-service> dengan nilai Anda sendiri.
Azure CLI tidak mendukung pengaturan incomingTrafficPolicy properti di Storage Sync Service. Pilih tab Azure PowerShell untuk mendapatkan petunjuk tentang cara menonaktifkan titik akhir publik Storage Sync Service.
Kebijakan Azure
Azure Policy membantu menerapkan standar organisasi dan menilai kepatuhan terhadap standar tersebut dalam skala besar. Azure Files dan Azure File Sync memaparkan beberapa kebijakan jaringan audit dan remediasi yang berguna untuk membantu Anda memantau dan mengotomatiskan penyebaran.
Kebijakan mengaudit lingkungan Anda dan memperingatkan Anda jika akun penyimpanan atau Storage Sync Service Anda berbeda dari perilaku yang ditentukan. Misalnya, jika titik akhir publik diaktifkan ketika kebijakan Anda diatur untuk menonaktifkan titik akhir publik. Mengubah/menyebarkan kebijakan mengambil langkah lebih jauh dan secara proaktif memodifikasi sumber daya (seperti Storage Sync Service) atau menyebarkan sumber daya (seperti titik akhir privat) untuk menyelaraskan dengan kebijakan.
Kebijakan yang telah ditentukan sebelumnya berikut ini tersedia untuk Azure Files dan Azure File Sync:
Nonaktifkan titik akhir publik Storage Sync Service.
Ubah - Mengonfigurasi Azure File Sync untuk menonaktifkan akses jaringan publik
Sebarkan
Azure File Sync
Sebarkan titik akhir privat untuk Storage Sync Service.
Mengonfigurasi Azure File Sync dengan titik akhir privat
Sebarkan
Azure File Sync
Sebarkan data A ke zona DNS privatelink.afs.azure.net.
Mengonfigurasi Azure File Sync untuk menggunakan zona DNS privat
Menyiapkan kebijakan penyebaran titik akhir privat
Untuk menyiapkan kebijakan penyebaran titik akhir privat, buka portal Azure, lalu cari Kebijakan. Pusat Azure Policy harus menjadi hasil teratas. Buka Penulisan>Definisi di daftar isi pusat Azure Policy. Panel Definisi yang dihasilkan berisi kebijakan yang telah ditentukan sebelumnya di semua layanan Azure. Untuk menemukan kebijakan tertentu, pilih kategori Penyimpanan di filter kategori, atau cari Konfigurasi Azure File Sync dengan titik akhir privat. Pilih ... dan Tetapkan untuk membuat kebijakan baru dari definisi.
Bilah Dasar dari wizard Tetapkan kebijakan memungkinkan Anda menetapkan cakupan, sumber daya atau daftar pengecualian grup sumber daya, dan memberikan nama yang mudah dikenali pada kebijakan Anda untuk membantu membedakannya. Anda tidak perlu mengubah ini agar kebijakan berfungsi, tetapi Anda bisa melakukannya jika ingin membuat perubahan. Pilih Berikutnya untuk maju ke halaman Parameter.
Pada bilah Parameter, pilih ... di samping menu drop-down privateEndpointSubnetId untuk memilih jaringan virtual dan subnet tempat titik akhir privat untuk sumber daya Storage Sync Service Anda harus disebarkan. Wizard yang dihasilkan mungkin memerlukan beberapa detik untuk memuat jaringan virtual yang tersedia di langganan Anda. Pilih jaringan/subnet virtual yang sesuai dengan lingkungan Anda, lalu klik Pilih. Pilih Berikutnya untuk maju ke bilah Remediasi.
Agar titik akhir privat dapat disebarkan ketika Storage Sync Service tanpa titik akhir privat diidentifikasi, Anda harus memilih Buat tugas remediasi di halaman Remediasi. Terakhir, pilih Tinjau + buat untuk meninjau penetapan kebijakan, lalu pilih Buat untuk membuatnya.
Penetapan kebijakan yang dihasilkan akan dijalankan secara berkala dan mungkin tidak berjalan segera setelah dibuat.