Mengonfigurasi penerusan DNS untuk Azure Files menggunakan VM atau Azure DNS Private Resolver
Azure Files memungkinkan Anda membuat titik akhir privat untuk akun penyimpanan yang berisi berbagi file Anda. Meskipun berguna untuk berbagai aplikasi, titik akhir privat sangat berguna untuk menyambungkan ke berbagi file Azure Anda dari jaringan lokal Anda menggunakan koneksi VPN atau ExpressRoute menggunakan peering privat.
Agar koneksi ke akun penyimpanan Anda melalui terowongan jaringan Anda, nama domain yang sepenuhnya memenuhi syarat (FQDN) dari akun penyimpanan Anda harus mengatasi alamat IP privat titik akhir Anda. Untuk mencapai hal ini, Anda harus meneruskan akhiran titik akhir penyimpanan (core.windows.net
untuk wilayah cloud publik) ke layanan DNS privat Azure yang dapat diakses dari dalam jaringan virtual Anda. Panduan ini akan memperlihatkan cara menyiapkan dan mengonfigurasi penerusan DNS untuk mengatasi alamat IP titik akhir privat akun penyimpanan Anda dengan benar.
Kami sangat menyarankan Anda membaca Perencanaan untuk penyebaran Azure Files dan Pertimbangan jaringan Azure Files sebelum menyelesaikan langkah yang dijelaskan dalam artikel ini.
Berlaku untuk
Jenis berbagi File | SMB | NFS |
---|---|---|
Berbagi file standar (GPv2), LRS/ZRS | ||
Berbagi file standar (GPv2), GRS/GZRS | ||
Berbagi file premium (FileStorage), LRS/ZRS |
Gambaran Umum
Azure Files menyediakan jenis titik akhir berikut 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.
- Titik akhir layanan, yang membatasi akses ke titik akhir publik ke jaringan virtual tertentu. Anda masih mengakses akun penyimpanan melalui alamat IP publik, tetapi akses hanya dimungkinkan dari lokasi yang Anda tentukan dalam konfigurasi Anda.
Titik akhir publik dan privat ada di akun penyimpanan Azure. Akun penyimpanan adalah konstruksi manajemen yang mewakili kumpulan penyimpanan bersama tempat Anda dapat menyebarkan beberapa berbagi, serta sumber daya penyimpanan lainnya, seperti kontainer blob atau antrean.
Setiap akun penyimpanan memiliki nama domain yang sepenuhnya memenuhi syarat (FQDN). Untuk wilayah cloud publik, FQDN ini mengikuti pola storageaccount.file.core.windows.net
yang mana storageaccount
adalah nama akun penyimpanan. Saat Anda membuat permintaan terhadap nama ini, seperti memasang bagian di stasiun kerja Anda, sistem operasi melakukan pencarian DNS untuk menyelesaikan nama domain yang sepenuhnya memenuhi syarat ke alamat IP.
Secara default, storageaccount.file.core.windows.net
mengatasi alamat IP titik akhir publik. Titik akhir publik untuk akun penyimpanan dihosting di kluster penyimpanan Azure yang menghosting banyak titik akhir publik akun penyimpanan lainnya. Saat Anda membuat titik akhir privat, zona DNS pribadi ditautkan ke jaringan virtual tempat zona DNS ditambahkan, dengan pemetaan data CNAME storageaccount.file.core.windows.net
ke entri data A untuk alamat IP privat titik akhir privat akun penyimpanan Anda. Ini memungkinkan Anda untuk menggunakan storageaccount.file.core.windows.net
FQDN dalam jaringan virtual dan membuatnya menyelesaikan ke alamat IP titik akhir privat.
Karena tujuan utama kami adalah mengakses berbagi file Azure yang dihosting dalam akun penyimpanan dari lokal menggunakan terowongan jaringan seperti koneksi VPN atau ExpressRoute, Anda harus mengonfigurasi server DNS lokal Anda untuk meneruskan permintaan yang dibuat ke layanan Azure Files ke layanan DNS privat Azure.
Anda dapat mengonfigurasi penerusan DNS salah satu dari dua cara:
Gunakan VM server DNS: Siapkan penerusan kondisional (atau akhiran
*.core.windows.net
titik akhir penyimpanan yang sesuai untuk cloud nasional Pemerintah AS, Jerman, atau Tiongkok) ke komputer virtual server DNS yang dihosting dalam jaringan virtual Azure Anda. Server DNS ini kemudian akan secara rekursif meneruskan permintaan ke layanan DNS privat Azure, yang akan menyelesaikan FQDN akun penyimpanan ke alamat IP privat yang sesuai. Ini adalah langkah satu kali untuk semua berbagi file Azure yang dihosting dalam jaringan virtual Anda.Gunakan Azure DNS Private Resolver: Jika Anda tidak ingin menyebarkan server DNS berbasis VM, Anda dapat menyelesaikan tugas yang sama menggunakan Azure DNS Private Resolver.
Selain Azure Files, permintaan resolusi nama DNS untuk layanan penyimpanan Azure lainnya (penyimpanan Azure Blob, penyimpanan Azure Table, penyimpanan Azure Queue, dll.) akan diteruskan ke layanan DNS privat Azure. Anda dapat menambahkan titik akhir tambahan untuk layanan Azure lainnya jika diinginkan.
Prasyarat
Sebelum Anda bisa menyiapkan penerusan DNS ke Azure Files, Anda memerlukan hal berikut:
- Akun penyimpanan yang berisi berbagi file Azure yang ingin Anda pasang. Untuk mempelajari cara membuat akun penyimpanan dan berbagi file Azure, lihat Membuat berbagi file Azure.
- Titik akhir privat untuk akun penyimpanan. Lihat Membuat titik akhir privat.
- Versi terbaru modul Azure PowerShell.
Mengonfigurasi penerusan DNS menggunakan VM
Jika Anda sudah memiliki server DNS di dalam jaringan virtual Azure Anda, atau jika Anda lebih suka menyebarkan VM server DNS Anda sendiri dengan metodologi apa pun yang digunakan organisasi Anda, Anda dapat mengonfigurasi DNS dengan cmdlet PowerShell server DNS bawaan.
Penting
Panduan ini mengasumsikan Anda menggunakan server DNS dalam Windows Server di lingkungan lokal Anda. Semua langkah yang dijelaskan di sini dimungkinkan dengan server DNS apa pun, bukan hanya Windows DNS Server.
Di server DNS lokal Anda, buat penerus bersyarat menggunakan Add-DnsServerConditionalForwarderZone
. Penerus bersyarat ini harus disebarkan di semua server DNS lokal Anda agar efektif untuk meneruskan lalu lintas ke Azure dengan benar. Ingatlah untuk mengganti <azure-dns-server-ip>
entri dengan alamat IP yang sesuai untuk lingkungan Anda.
$vnetDnsServers = "<azure-dns-server-ip>", "<azure-dns-server-ip>"
$storageAccountEndpoint = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers $vnetDnsServers
Di server DNS dalam jaringan virtual Azure, Anda juga harus menempatkan penerus sehingga permintaan untuk zona DNS akun penyimpanan diarahkan ke layanan DNS privat Azure, yang dihadapkan oleh alamat 168.63.129.16
IP yang dipesan . (Ingatlah untuk mengisi $storageAccountEndpoint
jika Anda menjalankan perintah dalam sesi PowerShell yang berbeda.)
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers "168.63.129.16"
Mengonfigurasi penerusan DNS menggunakan Azure DNS Private Resolver
Jika Anda lebih suka tidak menyebarkan VM server DNS, Anda dapat menyelesaikan tugas yang sama menggunakan Azure DNS Private Resolver. Lihat Membuat Pemecah Masalah Privat Azure DNS menggunakan portal Azure.
Tidak ada perbedaan dalam cara Anda mengonfigurasi server DNS lokal Anda, kecuali bahwa alih-alih menunjuk ke alamat IP server DNS di Azure, Anda mengarahkan ke alamat IP titik akhir masuk pemecah masalah. Resolver tidak memerlukan konfigurasi apa pun, karena akan meneruskan kueri ke server DNS privat Azure secara default. Jika zona DNS privat ditautkan ke VNet tempat pemecah masalah disebarkan, pemecah masalah akan dapat membalas dengan rekaman dari zona DNS tersebut.
Peringatan
Saat mengonfigurasi penerus untuk zona core.windows.net , semua kueri untuk domain publik ini akan diteruskan ke infrastruktur Azure DNS Anda. Ini menyebabkan masalah saat Anda mencoba mengakses akun penyimpanan penyewa lain yang telah dikonfigurasi dengan titik akhir privat, karena Azure DNS akan menjawab kueri untuk nama publik akun penyimpanan dengan CNAME yang tidak ada di zona DNS privat Anda. Solusi untuk masalah ini adalah membuat titik akhir privat lintas penyewa di lingkungan Anda untuk menyambungkan ke akun penyimpanan tersebut.
Untuk mengonfigurasi penerusan DNS menggunakan Azure DNS Private Resolver, jalankan skrip ini di server DNS lokal Anda. Ganti <resolver-ip>
dengan alamat IP titik akhir masuk resolver.
$privateResolver = "<resolver-ip>"
$storageAccountEndpoint = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers $privateResolver
Mengonfirmasi penerus DNS
Sebelum pengujian untuk melihat apakah penerus DNS telah berhasil diterapkan, kami sarankan untuk menghapus cache DNS di stasiun kerja lokal Anda menggunakan Clear-DnsClientCache
. Untuk menguji apakah Anda berhasil mengatasi FQDN akun penyimpanan Anda, gunakan Resolve-DnsName
atau nslookup
.
# Replace storageaccount.file.core.windows.net with the appropriate FQDN for your storage account.
# Note that the proper suffix (core.windows.net) depends on the cloud you're deployed in.
Resolve-DnsName -Name storageaccount.file.core.windows.net
Jika resolusi nama berhasil, Anda akan melihat alamat IP yang diselesaikan cocok dengan alamat IP akun penyimpanan Anda.
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.windows. CNAME 29 Answer csostoracct.privatelink.file.core.windows.net
net
Name : storageaccount.privatelink.file.core.windows.net
QueryType : A
TTL : 1769
Section : Answer
IP4Address : 192.168.0.4
Jika Anda memasang berbagi file SMB, Anda juga dapat menggunakan Test-NetConnection
perintah untuk mengonfirmasi bahwa koneksi TCP dapat berhasil dibuat ke akun penyimpanan Anda.
Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB