Konfigurace předávání DNS pro službu Azure Files pomocí virtuálních počítačů nebo privátního překladače Azure DNS
Azure Files umožňuje vytvářet privátní koncové body pro účty úložiště obsahující vaše sdílené složky. I když je to užitečné pro mnoho různých aplikací, jsou privátní koncové body užitečné hlavně 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řešla 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ředat příponu koncového bodu úložiště (core.windows.net
pro oblasti veřejného cloudu) službě Azure Private DNS přístupnou z vaší virtuální sítě. V této příručce 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ě.
Před dokončením kroků popsaných v tomto článku důrazně doporučujeme přečíst si plánování nasazení služby Soubory Azure a důležité informace o sítích služby Azure Files.
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ě se stále přistupuje přes veřejnou IP adresu, ale přístup je možný jenom z umístění, která zadáte ve své konfiguraci.
Veřejné a privátní koncové body existují v účtu úložiště Azure. Úč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). U oblastí 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 a přeloží plně kvalifikovaný název domény na IP adresu.
Ve výchozím nastavení storageaccount.file.core.windows.net
se přeloží 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 mnoho veřejných koncových bodů účtů úložiště. Při vytváření privátního koncového bodu se privátní zóna DNS propojí s virtuální sítí, do které se přidala, a záznam CNAME se mapuje storageaccount.file.core.windows.net
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žívat storageaccount.file.core.windows.net
plně kvalifikovaný název domény ve virtuální síti a přeložit ho 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 do služby Azure Files do privátní služby 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: Nastavení podmíněného předávání (nebo příslušné přípony koncového
*.core.windows.net
bodu úložiště pro národní cloudy státní správy USA, Německo nebo Čína) na virtuální počítač serveru DNS hostovaný ve vaší virtuální síti Azure. Tento server DNS pak rekurzivně předá požadavek na privátní službu 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žijte privátní překladač 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ě služby Azure Files se požadavky na překlad názvů DNS pro jiné služby Azure Storage (Azure Blob Storage, Azure Table Storage, Azure Queue Storage atd.) předávají 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ředávání DNS do služby 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 PowerShellu
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 jakékoli metodologie, kterou vaše organizace používá, můžete DNS nakonfigurovat pomocí předdefinovaných rutin PowerShellu serveru DNS.
Důležité
V této příručce se předpokládá, že používáte server DNS v rámci Windows Serveru ve vašem místním prostředí. Všechny zde popsané kroky jsou možné s libovolným serverem DNS, nejen se systémem Windows DNS Server.
Na místních serverech DNS vytvořte podmíněný předávací nástroj pomocí Add-DnsServerConditionalForwarderZone
. Tento podmíněný předávací nástroj musí být nasazený na všech místních serverech DNS, aby byl efektivní při správném předávání provozu do Azure. Nezapomeňte položky nahradit <azure-dns-server-ip>
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 ve vaší virtuální síti Azure budete také muset zavést předávací nástroj, aby se požadavky na zónu DNS účtu úložiště směrovaly na privátní službu DNS Azure, která je frontována rezervovanou IP adresou 168.63.129.16
. (Nezapomeňte naplnit $storageAccountEndpoint
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í webu Azure Portal.
Není žádný rozdíl v tom, jak konfigurujete místní servery DNS s tím rozdílem, že místo odkazování 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řesměruje 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č, bude překladač moct odpovědět záznamy z této zóny DNS.
Upozorňující
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ředávají 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ě s názvem CNAME, který v privátní zóně DNS neexistuje. 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ředává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
. Pokud chcete otestovat, jestli můžete úspěšně přeložit plně kvalifikovaný název domény účtu úložiště, použijte Resolve-DnsName
nebo 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ěli byste vidět přeloženou IP adresu odpovídající IP adrese 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 připojení TCP může úspěšně provést s vaším účtem úložiště.
Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB