Konfigurieren der DNS-Weiterleitung für Azure Files

Mit Azure Files können Sie private Endpunkte für die Speicherkonten erstellen, die Ihre Dateifreigaben enthalten. Private Endpunkte können für viele unterschiedliche Anwendungsarten genutzt werden. Sie sind aber besonders nützlich, um aus Ihrem lokalen Netzwerk eine Verbindung mit Ihren Azure-Dateifreigaben herzustellen, indem eine VPN- oder ExpressRoute-Verbindung mit privatem Peering verwendet wird.

Damit die Verbindungen mit Ihrem Speicherkonto durch Ihren Netzwerktunnel verlaufen, muss der vollqualifizierte Domänenname (FQDN) Ihres Speicherkontos in die private IP-Adresse Ihres privaten Endpunkts aufgelöst werden. Hierfür müssen Sie das Speicherendpunkt-Suffix (core.windows.net für Regionen der öffentlichen Cloud) an den privaten DNS-Dienst von Azure weiterleiten, der aus Ihrem virtuellen Netzwerk zugänglich ist. In diesem Leitfaden wird veranschaulicht, wie Sie die DNS-Weiterleitung so einrichten und konfigurieren, dass die richtige Auflösung in die IP-Adresse des privaten Endpunkts für Ihr Speicherkonto durchgeführt wird.

Wir empfehlen Ihnen dringend, die Anleitungen Planung für eine Azure Files-Bereitstellung und Azure Files – Überlegungen zum Netzwerkbetrieb zu lesen, bevor Sie die in diesem Artikel beschriebenen Schritte ausführen.

Gilt für:

Dateifreigabetyp SMB NFS
Standard-Dateifreigaben (GPv2), LRS/ZRS Ja Nein
Standard-Dateifreigaben (GPv2), GRS/GZRS Ja Nein
Premium-Dateifreigaben (FileStorage), LRS/ZRS Ja Ja

Übersicht

Azure Files verfügt über die folgenden Arten von Endpunkten für den Zugriff auf Azure-Dateifreigaben:

  • Öffentliche Endpunkte mit einer öffentlichen IP-Adresse, auf die von jedem Ort der Welt aus zugegriffen werden kann.
  • Private Endpunkte, die in einem virtuellen Netzwerk vorhanden sind und eine private IP-Adresse im Adressraum des virtuellen Netzwerks aufweisen.
  • Dienstendpunkte, die den Zugriff auf den öffentlichen Endpunkt auf bestimmte virtuelle Netzwerke einschränken. Sie greifen weiterhin über die öffentliche IP-Adresse auf das Speicherkonto zu, aber der Zugriff ist nur von den Standorten aus möglich, die Sie in Ihrer Konfiguration angegeben haben.

Öffentliche und private Endpunkte befinden sich unter dem Azure-Speicherkonto. Ein Speicherkonto ist ein Verwaltungskonstrukt, das einen gemeinsam genutzten Pool mit Speicherplatz darstellt, in dem Sie mehrere Dateifreigaben sowie weitere Speicherressourcen wie Blobcontainer oder Warteschlangen bereitstellen können.

Jedes Speicherkonto verfügt über einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN). Für die Regionen der öffentlichen Cloud basiert dieser FQDN auf dem Muster storageaccount.file.core.windows.net, wobei storageaccount für den Namen des Speicherkontos steht. Wenn Sie für diesen Namen Anforderungen senden, z. B. zum Bereitstellen der Freigabe auf Ihrer Arbeitsstation, wird von Ihrem Betriebssystem eine DNS-Suche durchgeführt, um den vollqualifizierten Domänennamen in eine IP-Adresse aufzulösen.

Standardmäßig wird storageaccount.file.core.windows.net in die IP-Adresse des öffentlichen Endpunkts aufgelöst. Der öffentliche Endpunkt für ein Speicherkonto wird in einem Azure Storage-Cluster gehostet, in dem viele andere öffentliche Endpunkte der Speicherkonten gehostet werden. Beim Erstellen eines privaten Endpunkts wird eine private DNS-Zone mit dem virtuellen Netzwerk verknüpft, dem der Endpunkt hinzugefügt wurde. Über einen CNAME-Eintrag wird storageaccount.file.core.windows.net einem A-Eintrag für die private IP-Adresse des privaten Endpunkts Ihres Speicherkontos zugeordnet. Auf diese Weise können Sie den FQDN storageaccount.file.core.windows.net im virtuellen Netzwerk verwenden und erreichen, dass er in die IP-Adresse des privaten Endpunkts aufgelöst wird.

Das übergeordnete Ziel besteht darin, aus der lokalen Umgebung auf die Azure-Dateifreigaben, die unter dem Speicherkonto gehostet werden, über einen Netzwerktunnel zuzugreifen, z. B. eine VPN- oder ExpressRoute-Verbindung. Daher müssen Sie Ihre lokalen DNS-Server so konfigurieren, dass Anforderungen für den Azure Files-Dienst an den privaten DNS-Dienst von Azure weitergeleitet werden.

Sie können die DNS-Weiterleitung auf zwei Arten konfigurieren:

  • DNS-Server-VMs verwenden: Richten Sie bedingte Weiterleitung von *.core.windows.net (bzw. das entsprechende Speicherendpunkt-Suffix für die nationalen Clouds „US Government“, „Deutschland“ oder „China“) an die DNS-Server-VM ein, die in Ihrem virtuellen Azure-Netzwerk gehostet wird. Dieser DNS-Server leitet die Anforderung dann rekursiv an den privaten DNS-Dienst von Azure weiter, der den FQDN des Speicherkontos an die richtige private IP-Adresse weiterleitet. Dies ist ein einmaliger Schritt für alle Azure-Dateifreigaben, die in Ihrem virtuellen Netzwerk gehostet werden.

  • Privaten Azure DNS-Resolver verwenden: Wenn Sie keinen VM-basierten DNS-Server bereitstellen möchten, können Sie dieselbe Aufgabe mit privatem Azure DNS Resolver ausführen.

Anforderungen zur DNS-Namensauflösung werden nicht nur für Azure Files weitergeleitet, sondern auch für andere Azure-Speicherdienste (Azure-Blobspeicher, -Tabellenspeicher, -Warteschlangenspeicher usw.) erfolgt die Weiterleitung an den privaten DNS-Dienst von Azure. Sie können bei Bedarf weitere Endpunkte für andere Azure-Dienste hinzufügen.

Voraussetzungen

Bevor Sie die DNS-Weiterleitung für Azure Files einrichten können, benötigen Sie Folgendes:

Konfigurieren der DNS-Weiterleitung mit VMs

Falls Sie in Ihrem virtuellen Azure-Netzwerk bereits DNS-Server eingerichtet haben oder basierend auf der Methodik Ihrer Organisation eigene DNS-Server-VMs bereitstellen möchten, können Sie das DNS mit den integrierten PowerShell-Cmdlets für DNS-Server konfigurieren.

Diagramm: Netzwerktopologie für das Konfigurieren der DNS-Weiterleitung mit virtuellen Computern in Azure.

Wichtig

In diesem Leitfaden wird davon ausgegangen, dass Sie den DNS-Server unter Windows Server in Ihrer lokalen Umgebung verwenden. Alle Schritte, die hier beschrieben werden, gelten nicht nur für den DNS-Server von Windows, sondern für alle DNS-Server.

Erstellen Sie auf Ihren lokalen DNS-Servern mit Add-DnsServerConditionalForwarderZone eine bedingte Weiterleitung. Diese bedingte Weiterleitung muss bei Ihnen auf allen lokalen DNS-Servern bereitgestellt werden, damit die Weiterleitung von Datenverkehr an Azure korrekt durchgeführt werden kann. Denken Sie daran, die <azure-dns-server-ip>-Einträge durch die entsprechenden IP-Adressen für Ihre Umgebung zu ersetzen.

$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

Auf den DNS-Servern in Ihrem virtuellen Azure-Netzwerk müssen Sie ebenfalls eine Weiterleitung einrichten, damit Anforderungen für die DNS-Zone des Speicherkontos an den privaten DNS-Dienst von Azure geleitet werden, der über die reservierte IP-Adresse 168.63.129.16 verfügt. (Denken Sie an die Angaben unter $storageAccountEndpoint, falls Sie die Befehle in einer anderen PowerShell-Sitzung ausführen.)

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

Konfigurieren der DNS-Weiterleitung mit privatem Azure DNS Resolver

Wenn Sie es vorziehen, keine DNS-Server-VMs bereitzustellen, können Sie dieselbe Aufgabe mit privatem Azure DNS Resolver ausführen. Weitere Informationen finden Sie unter Erstellen einer Azure DNS Private Resolver-Instanz über das Azure-Portal.

Diagramm: Netzwerktopologie für das Konfigurieren der DNS-Weiterleitung mit dem Azure DNS Private Resolver.

Es gibt keinen Unterschied bei der Konfiguration Ihrer lokalen DNS-Server, außer dass Sie nicht auf die IP-Adressen der DNS-Server in Azure verweisen, sondern auf die IP-Adresse des eingehenden Endpunkts des Resolvers. Der Resolver erfordert keine Konfiguration, da Abfragen standardmäßig an den privaten Azure-DNS-Server weitergeleitet werden. Wenn eine private DNS-Zone mit dem VNet verknüpft ist, in dem der Resolver bereitgestellt wird, kann der Resolver mit Datensätzen aus dieser DNS-Zone antworten.

Warnung

Beim Konfigurieren von Weiterleitungen für die core.windows.net-Zone werden alle Abfragen für diese öffentliche Domäne an Ihre Azure DNS-Infrastruktur weitergeleitet. Dies verursacht ein Problem, wenn Sie versuchen, auf ein Speicherkonto eines anderen Mandanten zuzugreifen, das mit privaten Endpunkten konfiguriert wurde, da Azure DNS die Abfrage nach dem öffentlichen Namen des Speicherkontos mit einem CNAME beantwortet, der in Ihrer privaten DNS-Zone nicht vorhanden ist. Eine Problemumgehung besteht darin, einen mandantenübergreifenden privaten Endpunkt in Ihrer Umgebung zu erstellen, um eine Verbindung mit diesem Speicherkonto herzustellen.

Führen Sie dieses Skript auf Ihren lokalen DNS-Servern aus, um die DNS-Weiterleitung mit privatem Azure DNS Resolver zu konfigurieren. Ersetzen Sie <resolver-ip> durch die IP-Adresse des eingehenden Endpunkts des Resolvers.

$privateResolver = "<resolver-ip>"

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

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

Bestätigen von DNS-Weiterleitungen

Bevor Sie testen, ob die Anwendung der DNS-Weiterleitungen erfolgreich war, empfehlen wir Ihnen, den DNS-Cache auf Ihrer lokalen Arbeitsstation mit Clear-DnsClientCache zu leeren. Verwenden Sie Resolve-DnsName oder nslookup, um zu testen, ob Sie den FQDN Ihres Speicherkontos richtig auflösen können.

# 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

Wenn die Namensauflösung erfolgreich ist, sollte die aufgelöste IP-Adresse mit der IP-Adresse Ihres Speicherkontos übereinstimmen.

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

Wenn Sie eine SMB-Dateifreigabe einbinden, können Sie auch den Test-NetConnection-Befehl verwenden, um zu überprüfen, ob eine TCP-Verbindung mit Ihrem Speicherkonto erfolgreich hergestellt werden kann.

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

Weitere Informationen