Udostępnij za pośrednictwem


Konfigurowanie przekazywania DNS dla usługi Azure Files przy użyciu maszyn wirtualnych lub prywatnego rozpoznawania nazw usługi Azure DNS

Usługa Azure Files umożliwia tworzenie prywatnych punktów końcowych dla kont magazynu zawierających udziały plików. Chociaż jest to przydatne w przypadku wielu różnych aplikacji, prywatne punkty końcowe są szczególnie przydatne do nawiązywania połączenia z udziałami plików platformy Azure z sieci lokalnej przy użyciu sieci VPN lub połączenia usługi ExpressRoute przy użyciu prywatnej komunikacji równorzędnej.

Aby połączenia z kontem magazynu przechodziły przez tunel sieciowy, w pełni kwalifikowana nazwa domeny (FQDN) konta magazynu musi być rozpoznawana jako prywatny adres IP prywatnego punktu końcowego. Aby to osiągnąć, należy przekazać sufiks punktu końcowego magazynu (core.windows.net dla regionów chmury publicznej) do prywatnej usługi DNS platformy Azure dostępnej z poziomu sieci wirtualnej. W tym przewodniku pokazano, jak skonfigurować i skonfigurować przekazywanie DNS w celu prawidłowego rozpoznawania prywatnego adresu IP punktu końcowego konta magazynu.

Zdecydowanie zalecamy zapoznanie się z tematem Planowanie wdrożenia usługi Azure Files i zagadnienia dotyczące sieci usługi Azure Files przed wykonaniem kroków opisanych w tym artykule.

Dotyczy

Typ udziału plików SMB NFS
Udziały plików w warstwie Standardowa (GPv2), LRS/ZRS Tak Nie
Udziały plików w warstwie Standardowa (GPv2), GRS/GZRS Tak Nie
Udziały plików w warstwie Premium (FileStorage), LRS/ZRS Tak Tak

Omówienie

Usługa Azure Files udostępnia następujące typy punktów końcowych na potrzeby uzyskiwania dostępu do udziałów plików platformy Azure:

  • Publiczne punkty końcowe, które mają publiczny adres IP i mogą być dostępne z dowolnego miejsca na świecie.
  • Prywatne punkty końcowe, które istnieją w sieci wirtualnej i mają prywatny adres IP z przestrzeni adresowej tej sieci wirtualnej.
  • Punkty końcowe usługi, które ograniczają dostęp do publicznego punktu końcowego do określonych sieci wirtualnych. Nadal uzyskujesz dostęp do konta magazynu za pośrednictwem publicznego adresu IP, ale dostęp jest możliwy tylko z lokalizacji, które określisz w konfiguracji.

Publiczne i prywatne punkty końcowe istnieją na koncie usługi Azure Storage. Konto magazynu to konstrukcja zarządzania, która reprezentuje udostępnioną pulę magazynu, w której można wdrożyć wiele udziałów plików, a także inne zasoby magazynu, takie jak kontenery obiektów blob lub kolejki.

Każde konto magazynu ma w pełni kwalifikowaną nazwę domeny (FQDN). W przypadku regionów chmury publicznej ta nazwa FQDN jest zgodna ze wzorcem storageaccount.file.core.windows.net , w którym storageaccount jest nazwą konta magazynu. Gdy wysyłasz żądania dotyczące tej nazwy, na przykład instalowania udziału na stacji roboczej, system operacyjny wykonuje wyszukiwanie DNS, aby rozpoznać w pełni kwalifikowaną nazwę domeny na adres IP.

Domyślnie storageaccount.file.core.windows.net jest rozpoznawany adres IP publicznego punktu końcowego. Publiczny punkt końcowy konta magazynu jest hostowany w klastrze usługi Azure Storage, który hostuje wiele innych publicznych punktów końcowych kont magazynu. Podczas tworzenia prywatnego punktu końcowego prywatna strefa DNS jest połączona z siecią wirtualną, do której została dodana, z mapowaniem storageaccount.file.core.windows.net rekordu CNAME na wpis rekordu A dla prywatnego adresu IP prywatnego punktu końcowego konta magazynu. Dzięki temu można używać storageaccount.file.core.windows.net nazwy FQDN w sieci wirtualnej i rozpoznawać adres IP prywatnego punktu końcowego.

Ponieważ naszym ostatecznym celem jest uzyskanie dostępu do udziałów plików platformy Azure hostowanych na koncie magazynu ze środowiska lokalnego przy użyciu tunelu sieciowego, takiego jak połączenie sieci VPN lub usługi ExpressRoute, należy skonfigurować lokalne serwery DNS do przekazywania żądań wysyłanych do usługi Azure Files do prywatnej usługi DNS platformy Azure.

Przesyłanie dalej DNS można skonfigurować na jeden z dwóch sposobów:

  • Użyj maszyn wirtualnych serwera DNS: skonfiguruj przekazywanie *.core.windows.net warunkowe (lub odpowiedni sufiks punktu końcowego magazynu dla instytucji rządowych USA, Niemiec lub Chin) do maszyny wirtualnej serwera DNS hostowanej w sieci wirtualnej platformy Azure. Ten serwer DNS będzie następnie rekursywnie przesyłać żądanie do prywatnej usługi DNS platformy Azure, która rozpozna nazwę FQDN konta magazynu do odpowiedniego prywatnego adresu IP. Jest to jednorazowy krok dla wszystkich udziałów plików platformy Azure hostowanych w sieci wirtualnej.

  • Użyj usługi Rozpoznawanie prywatne usługi Azure DNS: jeśli nie chcesz wdrażać serwera DNS opartego na maszynie wirtualnej, możesz wykonać to samo zadanie przy użyciu usługi Rozpoznawanie prywatne usługi Azure DNS.

Oprócz usługi Azure Files żądania rozpoznawania nazw DNS dla innych usług Azure Storage (Azure Blob Storage, Azure Table Storage, Azure Queue Storage itp.) będą przekazywane do prywatnej usługi DNS platformy Azure. W razie potrzeby możesz dodać dodatkowe punkty końcowe dla innych usług platformy Azure.

Wymagania wstępne

Przed skonfigurowaniem przekazywania DNS do usługi Azure Files potrzebne będą następujące elementy:

  • Konto magazynu zawierające udział plików platformy Azure, który chcesz zainstalować. Aby dowiedzieć się, jak utworzyć konto magazynu i udział plików platformy Azure, zobacz Tworzenie udziału plików platformy Azure.
  • Prywatny punkt końcowy dla konta magazynu. Zobacz Tworzenie prywatnego punktu końcowego.
  • Najnowsza wersja modułu programu Azure PowerShell.

Konfigurowanie przekazywania DNS przy użyciu maszyn wirtualnych

Jeśli masz już serwery DNS w sieci wirtualnej platformy Azure lub jeśli wolisz wdrożyć własne maszyny wirtualne serwera DNS przy użyciu dowolnej metodologii używanej przez organizację, możesz skonfigurować usługę DNS za pomocą wbudowanych poleceń cmdlet serwera DNS programu PowerShell.

Diagram przedstawiający topologię sieci do konfigurowania przekazywania D N S przy użyciu maszyn wirtualnych na platformie Azure.

Ważne

W tym przewodniku założono, że używasz serwera DNS w systemie Windows Server w środowisku lokalnym. Wszystkie opisane tutaj kroki są możliwe w przypadku dowolnego serwera DNS, a nie tylko systemu Windows DNS Server.

Na lokalnych serwerach DNS utwórz warunkowy usługę przesyłania dalej przy użyciu polecenia Add-DnsServerConditionalForwarderZone. Ten warunkowy usług przesyłania dalej musi zostać wdrożony na wszystkich lokalnych serwerach DNS, aby skutecznie przekazywać ruch do platformy Azure. Pamiętaj, aby zastąpić <azure-dns-server-ip> wpisy odpowiednimi adresami IP dla danego środowiska.

$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 serwerach DNS w sieci wirtualnej platformy Azure należy również umieścić usługę przesyłania dalej, aby żądania dla strefy DNS konta magazynu zostały skierowane do prywatnej usługi DNS platformy Azure, która jest frontowana przez zastrzeżony adres 168.63.129.16IP . (Pamiętaj, aby wypełnić, $storageAccountEndpoint jeśli uruchamiasz polecenia w innej sesji programu PowerShell).

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers "168.63.129.16"

Konfigurowanie przekazywania DNS przy użyciu usługi Rozpoznawanie prywatne usługi Azure DNS

Jeśli nie chcesz wdrażać maszyn wirtualnych serwera DNS, możesz wykonać to samo zadanie przy użyciu usługi Rozpoznawanie prywatne usługi Azure DNS. Zobacz Create an Azure DNS Private Resolver using the Azure Portal (Tworzenie prywatnego rozpoznawania nazw usługi Azure DNS przy użyciu witryny Azure Portal).

Diagram przedstawiający topologię sieci do konfigurowania przekazywania D N S przy użyciu usługi Azure D N S Private Resolver.

Nie ma różnicy w sposobie konfigurowania lokalnych serwerów DNS, z tą różnicą, że zamiast wskazywać adresy IP serwerów DNS na platformie Azure, wskazujesz adres IP przychodzącego punktu końcowego rozpoznawania. Narzędzie rozpoznawania nazw nie wymaga żadnej konfiguracji, ponieważ domyślnie będzie przekazywać zapytania do prywatnego serwera DNS platformy Azure. Jeśli prywatna strefa DNS jest połączona z siecią wirtualną, w której wdrożono program rozpoznawania nazw, program rozpoznawania nazw będzie mógł odpowiedzieć rekordami z tej strefy DNS.

Ostrzeżenie

Podczas konfigurowania usług przesyłania dalej dla strefy core.windows.net wszystkie zapytania dla tej domeny publicznej będą przekazywane do infrastruktury usługi Azure DNS. Powoduje to problem podczas próby uzyskania dostępu do konta magazynu innej dzierżawy, która została skonfigurowana z prywatnymi punktami końcowymi, ponieważ usługa Azure DNS odpowie na zapytanie dotyczące publicznej nazwy konta magazynu przy użyciu rekordu CNAME, który nie istnieje w prywatnej strefie DNS. Obejściem tego problemu jest utworzenie prywatnego punktu końcowego między dzierżawami w środowisku w celu nawiązania połączenia z tym kontem magazynu.

Aby skonfigurować przekazywanie DNS przy użyciu usługi Rozpoznawanie prywatne usługi Azure DNS, uruchom ten skrypt na lokalnych serwerach DNS. Zastąp element <resolver-ip> adresem IP przychodzącego punktu końcowego programu resolver.

$privateResolver = "<resolver-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $privateResolver

Potwierdzanie usług przesyłania dalej DNS

Przed rozpoczęciem testowania, aby sprawdzić, czy usługi przesyłania dalej DNS zostały pomyślnie zastosowane, zalecamy wyczyszczenie pamięci podręcznej DNS na lokalnej stacji roboczej przy użyciu polecenia Clear-DnsClientCache. Aby sprawdzić, czy można pomyślnie rozpoznać nazwę FQDN konta magazynu, użyj polecenia Resolve-DnsName lub 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

Jeśli rozpoznawanie nazw zakończy się pomyślnie, powinien zostać wyświetlony rozpoznany adres IP zgodny z adresem IP konta magazynu.

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

Jeśli instalowania udziału plików SMB, możesz również użyć Test-NetConnection polecenia , aby potwierdzić, że połączenie TCP można pomyślnie nawiązać z kontem magazynu.

Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB

Zobacz też