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

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.

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

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.

Diagram znázorňující síťovou topologii pro konfiguraci předávání D N S s využitím privátního překladače Azure D N S

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

Viz také