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 Yes No
Sdílené složky úrovně Standard (GPv2), GRS/GZRS Yes No
Sdílené složky úrovně Premium (FileStorage), LRS/ZRS Yes Yes

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í:

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.

Diagram znázorňující topologii sítě pro konfiguraci předávání D N S pomocí virtuálních počítačů v Azure

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.

Diagram znázorňující topologii sítě pro konfiguraci předávání D N S pomocí privátního překladače Azure D N S

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-DnsClientCachepří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-DnsNamenslookup.

# 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

Viz také