Konfigurace přesměrování DNS pro Azure Files
Azure Files umožňuje vytvářet privátní koncové body pro účty úložiště obsahující sdílené složky. I když jsou privátní koncové body užitečné pro mnoho různých aplikací, jsou užitečné zejména pro připojení ke sdíleným složkám Azure z místní sítě pomocí připojení VPN nebo ExpressRoute pomocí privátního partnerského vztahu.
Aby připojení k vašemu účtu úložiště přecházejte přes síťový tunel, musí se plně kvalifikovaný název domény (FQDN) vašeho účtu úložiště přeložit na privátní IP adresu vašeho privátního koncového bodu. Abyste toho dosáhli, musíte příponu koncového bodu úložiště (core.windows.net
pro oblasti veřejného cloudu) předat službě Azure Private DNS, která je přístupná z vaší virtuální sítě. V tomto průvodci se dozvíte, jak nastavit a nakonfigurovat předávání DNS tak, aby se správně přeložil na IP adresu privátního koncového bodu vašeho účtu úložiště.
Důrazně doporučujeme, abyste si před dokončením kroků popsaných v tomto článku přečetli téma Plánování nasazení Azure Files a důležité informace o Azure Files sítích.
Platí pro
Typ sdílené složky | SMB | NFS |
---|---|---|
Sdílené složky úrovně Standard (GPv2), LRS/ZRS | ||
Sdílené složky úrovně Standard (GPv2), GRS/GZRS | ||
Sdílené složky úrovně Premium (FileStorage), LRS/ZRS |
Přehled
Azure Files poskytuje následující typy koncových bodů pro přístup ke sdíleným složkám Azure:
- Veřejné koncové body, které mají veřejnou IP adresu a jsou přístupné odkudkoli na světě.
- Privátní koncové body, které existují ve virtuální síti a mají privátní IP adresu z adresního prostoru dané virtuální sítě.
- Koncové body služby, které omezují přístup k veřejnému koncovému bodu na konkrétní virtuální sítě. K účtu úložiště stále přistupujete přes veřejnou IP adresu, ale přístup je možný jenom z umístění, která zadáte v konfiguraci.
V účtu úložiště Azure existují veřejné a privátní koncové body. Účet úložiště je konstruktor správy, který představuje sdílený fond úložiště, ve kterém můžete nasadit více sdílených složek a také další prostředky úložiště, jako jsou kontejnery objektů blob nebo fronty.
Každý účet úložiště má plně kvalifikovaný název domény (FQDN). Pro oblasti veřejného cloudu se tento plně kvalifikovaný název domény řídí vzorem storageaccount.file.core.windows.net
, ve kterém storageaccount
je název účtu úložiště. Když odešlete požadavky na tento název, například připojení sdílené složky na pracovní stanici, operační systém provede vyhledávání DNS, aby přeložil plně kvalifikovaný název domény na IP adresu.
Ve výchozím nastavení se storageaccount.file.core.windows.net
překládá na IP adresu veřejného koncového bodu. Veřejný koncový bod pro účet úložiště je hostovaný v clusteru úložiště Azure, který hostuje veřejné koncové body mnoha dalších účtů úložiště. Při vytváření privátního koncového bodu je zóna privátního DNS propojená s virtuální sítí, do které byla přidána, s mapováním storageaccount.file.core.windows.net
záznamu CNAME na položku záznamu A pro privátní IP adresu privátního koncového bodu vašeho účtu úložiště. To vám umožní použít storageaccount.file.core.windows.net
plně kvalifikovaný název domény v rámci virtuální sítě a nechat ho přeložit na IP adresu privátního koncového bodu.
Vzhledem k tomu, že naším konečným cílem je přístup ke sdíleným složkám Azure hostovaným v rámci účtu úložiště z místního prostředí pomocí síťového tunelu, jako je připojení VPN nebo ExpressRoute, musíte nakonfigurovat místní servery DNS tak, aby předávaly požadavky na službu Azure Files službě privátního DNS Azure.
Přesměrování DNS můžete nakonfigurovat jedním ze dvou způsobů:
Použití virtuálních počítačů serveru DNS: Nastavte podmíněné přesměrování (nebo příslušné přípony koncového
*.core.windows.net
bodu úložiště pro národní cloudy pro státní správu USA, Německo nebo Čínu) na virtuální počítač serveru DNS hostovaný ve vaší virtuální síti Azure. Tento server DNS pak požadavek rekurzivně předá privátní službě DNS Azure, která přeloží plně kvalifikovaný název domény účtu úložiště na příslušnou privátní IP adresu. Jedná se o jednorázový krok pro všechny sdílené složky Azure hostované ve vaší virtuální síti.Použití privátního překladače Azure DNS: Pokud nechcete nasadit server DNS založený na virtuálním počítači, můžete stejnou úlohu provést pomocí privátního překladače Azure DNS.
Kromě Azure Files se žádosti o překlad NÁZVŮ DNS pro další služby Azure Storage (Azure Blob Storage, Azure Table Storage, Azure Queue Storage atd.) budou předávat do privátní služby DNS Azure. V případě potřeby můžete přidat další koncové body pro jiné služby Azure.
Požadavky
Než budete moct nastavit přesměrování DNS na Azure Files, budete potřebovat následující:
- Účet úložiště obsahující sdílenou složku Azure, kterou chcete připojit. Informace o vytvoření účtu úložiště a sdílené složky Azure najdete v tématu Vytvoření sdílené složky Azure.
- Privátní koncový bod pro účet úložiště. Viz Vytvoření privátního koncového bodu.
- Nejnovější verze modulu Azure PowerShell.
Konfigurace předávání DNS pomocí virtuálních počítačů
Pokud už máte servery DNS v rámci virtuální sítě Azure nebo pokud dáváte přednost nasazení vlastních virtuálních počítačů serveru DNS podle metodologie, kterou vaše organizace používá, můžete dns nakonfigurovat pomocí předdefinovaných rutin PowerShellu pro server DNS.
Důležité
Tato příručka předpokládá, že ve svém místním prostředí používáte server DNS v systému Windows Server. Všechny zde popsané kroky jsou možné s libovolným serverem DNS, nejen s Windows DNS Serverem.
Na místních serverech DNS vytvořte podmíněný server pro předávání pomocí Add-DnsServerConditionalForwarderZone
. Tento podmíněný server pro předávání musí být nasazený na všech místních serverech DNS, aby byl efektivní při správném přesměrování provozu do Azure. Nezapomeňte nahradit <azure-dns-server-ip>
položky odpovídajícími IP adresami pro vaše prostředí.
$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
Na serverech DNS v rámci vaší virtuální sítě Azure budete také muset nasadit nástroj pro předávání, aby se požadavky na zónu DNS účtu úložiště směrovaly na službu privátního DNS Azure, před kterou je vyhrazená IP adresa 168.63.129.16
. (Nezapomeňte naplnit $storageAccountEndpoint
, pokud spouštíte příkazy v jiné relaci PowerShellu.)
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers "168.63.129.16"
Konfigurace předávání DNS pomocí privátního překladače Azure DNS
Pokud nechcete nasazovat virtuální počítače serveru DNS, můžete stejnou úlohu provést pomocí privátního překladače Azure DNS. Viz Vytvoření privátního překladače Azure DNS pomocí Azure Portal.
Způsob konfigurace místních serverů DNS není nijak rozdílný s tím rozdílem, že místo toho, abyste odkazovali na IP adresy serverů DNS v Azure, odkazujete na IP adresu příchozího koncového bodu překladače. Překladač nevyžaduje žádnou konfiguraci, protože ve výchozím nastavení předá dotazy na privátní server DNS Azure. Pokud je privátní zóna DNS propojená s virtuální sítí, ve které je nasazený překladač, překladač bude moct odpovědět se záznamy z této zóny DNS.
Upozornění
Při konfiguraci služeb předávání pro zónu core.windows.net se všechny dotazy pro tuto veřejnou doménu přepošle do vaší infrastruktury Azure DNS. To způsobí problém při pokusu o přístup k účtu úložiště jiného tenanta, který je nakonfigurovaný s privátními koncovými body, protože Azure DNS odpoví na dotaz na veřejný název účtu úložiště pomocí CNAME, který neexistuje ve vaší privátní zóně DNS. Alternativním řešením tohoto problému je vytvoření privátního koncového bodu mezi tenanty ve vašem prostředí pro připojení k tomuto účtu úložiště.
Pokud chcete nakonfigurovat přesměrování DNS pomocí privátního překladače Azure DNS, spusťte tento skript na místních serverech DNS. Nahraďte <resolver-ip>
IP adresou příchozího koncového bodu překladače.
$privateResolver = "<resolver-ip>"
$storageAccountEndpoint = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers $privateResolver
Potvrzení serverů pro předávání DNS
Před testováním, abyste zjistili, jestli se servery pro předávání DNS úspěšně použily, doporučujeme vymazat mezipaměť DNS na místní pracovní stanici pomocí Clear-DnsClientCache
příkazu . Pokud chcete otestovat, jestli můžete úspěšně přeložit plně kvalifikovaný název domény vašeho účtu úložiště, použijte nebo Resolve-DnsName
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
Pokud je překlad IP adres úspěšný, měla by se přeložená IP adresa shodovat s IP adresou vašeho účtu úložiště.
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
Pokud připojujete sdílenou složku SMB, můžete také pomocí Test-NetConnection
příkazu potvrdit, že se k vašemu účtu úložiště dá úspěšně nasdílet připojení TCP.
Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB