Verwenden der DNS-Richtlinie für den Anwendungslastenausgleich

Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016

In diesem Thema erfahren Sie, wie Sie eine DNS-Richtlinie für die Ausführung eines Lastenausgleichs für Anwendungen konfigurieren.

In früheren Versionen von Windows Server DNS wurde nur ein Lastenausgleich mithilfe von Roundrobinantworten bereitgestellt. Mit DNS in Windows Server 2016 können Sie eine DNS-Richtlinie für den Anwendungslastenausgleich konfigurieren.

Wenn Sie mehrere Instanzen einer Anwendung bereitgestellt haben, können Sie eine DNS-Richtlinie verwenden, um einen Lastenausgleich des Datenverkehrs zwischen den verschiedenen Anwendungsinstanzen auszuführen und auf diese Weise die Datenverkehrslast für die Anwendung dynamisch zuzuweisen.

Beispiel für den Anwendungslastenausgleich

Nachfolgend finden Sie ein Beispiel dafür, wie Sie eine DNS-Richtlinie für den Anwendungslastenausgleich verwenden können.

Dieses Beispiel verwendet das fiktive Unternehmen Contoso Gift Services, das Onlinegeschenkdienste bietet und über eine Website mit dem Namen contosogiftservices.com verfügt.

Die Website „contosogiftservices.com“ wird in mehreren Rechenzentren gehostet, die jeweils über unterschiedliche IP-Adressen verfügen.

In Nordamerika – dem primären Markt für Contoso Gift Services – wird die Website in drei Rechenzentren gehostet: „Chicago, IL“, „Dallas, TX“ und „Seattle, WA“.

Der Webserver in Seattle ist mit der besten Hardwarekonfiguration ausgestattet und kann doppelt so viel Last verarbeiten wie die anderen beiden Standorte. Contoso Gift Services möchte den Anwendungsdatenverkehr auf folgende Weise leiten:

  • Da der Webserver in Seattle über mehr Ressourcen verfügt, wird die Hälfte der Anwendungsclients an diesen Server geleitet.
  • Ein Viertel der Anwendungsclients wird an das Rechenzentrum in Dallas geleitet.
  • Ein Viertel der Anwendungsclients wird an das Rechenzentrum in Chicago geleitet.

Die folgende Abbildung zeigt dieses Szenario.

DNS Application Load Balancing with DNS Policy

Funktionsweise des Anwendungslastausgleichs

Nachdem Sie den DNS-Server anhand dieses Beispielszenarios mit einer DNS-Richtlinie für den Anwendungslastenausgleich konfiguriert haben, antwortet der DNS-Server zu 50 % mit der Adresse des Webservers in Seattle, zu 25 % mit der Adresse des Webservers in Dallas und zu 25 % mit der Adresse des Webservers in Chicago.

Anders gesagt: Wenn der DNS-Server vier Abfragen empfängt, beantwortet er zwei mit der Seattle-Adresse und jeweils eine mit den Adressen von Dallas und Chicago.

Ein mögliches Problem beim Lastenausgleich mit einer DNS-Richtlinie ist das Zwischenspeichern von DNS-Einträgen durch den DNS-Client und den Resolver bzw. LDNS. Dies kann den Lastenausgleich beeinträchtigen, da der Client oder der Resolver keine Abfrage an den DNS-Server sendet.

Sie können die Auswirkungen dieses Verhaltens abmildern, indem Sie einen niedrigen TTL-Wert (Time-to-Live) für die DNS-Einträge verwenden, für die ein Lastenausgleich ausgeführt werden soll.

Konfigurieren des Lastenausgleichs für Anwendungen

In den folgenden Abschnitten wird gezeigt, wie Sie eine DNS-Richtlinie für den Anwendungslastenausgleich konfigurieren.

Erstellen der Zonenbereiche

Sie müssen zuerst die Bereiche der Zone „contosogiftservices.com“ für die Rechenzentren erstellen, in denen sie gehostet werden.

Ein Zonenbereich ist eine eindeutige Instanz der Zone. Eine DNS-Zone kann mehrere Zonenbereiche umfassen, wobei jeder Zonenbereich eigene DNS-Einträge enthält. Ein und derselbe Eintrag kann in mehreren Bereichen mit unterschiedlichen oder denselben IP-Adressen vorhanden sein.

Hinweis

Standardmäßig ist ein Zonenbereich in den DNS-Zonen vorhanden. Dieser Zonenbereich hat denselben Namen wie die Zone haben, und DNS-Legacyvorgänge funktionieren in diesem Bereich.

Sie können die folgenden Windows PowerShell Befehle verwenden, um Zonenbereiche zu erstellen.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "SeattleZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DallasZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "ChicagoZoneScope"

Weitere Informationen finden Sie unter Add-DnsServerZoneScope.

Hinzufügen von Einträgen zu den Zonenbereichen

Jetzt müssen Sie die Einträge, die den Webserverhost repräsentieren, in den Zonenbereichen hinzufügen.

In SeattleZoneScope können Sie den Eintrag www.contosogiftservices.com mit der IP-Adresse 192.0.0.1 hinzufügen, die sich im Rechenzentrum in Seattle befindet.

In ChicagoZoneScope können Sie denselben Eintrag (www.contosogiftservices.com) mit der IP-Adresse 182.0.0.1 im Rechenzentrum in Chicago hinzufügen.

In DallasZoneScope können Sie denselben Eintrag (www.contosogiftservices.com) mit der IP-Adresse 162.0.0.1 im Rechenzentrum in Dallas hinzufügen.

Sie können die folgenden Windows PowerShell-Befehle verwenden, um den Zonenbereichen Einträge hinzuzufügen.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "SeattleZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "182.0.0.1" -ZoneScope "ChicagoZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "162.0.0.1" -ZoneScope "DallasZoneScope"

Weitere Informationen finden Sie unter Add-DnsServerResourceRecord.

Erstellen der DNS-Richtlinien

Nachdem Sie die Partitionen (Zonenbereiche) erstellt und diesen Einträge hinzugefügt haben, müssen Sie DNS-Richtlinien erstellen, die eingehende Abfragen so auf diese Bereiche verteilen, dass 50 % der Abfragen für „contosogiftservices.com“ mit der IP-Adresse für den Webserver im Rechenzentrum Seattle beantwortet werden und der Rest zu gleichen Teilen auf die Rechenzentren in Chicago und Dallas aufgeteilt wird.

Sie können die folgenden Windows PowerShell-Befehle verwenden, um eine DNS-Richtlinie zu erstellen, die den Anwendungsdatenverkehr auf diese drei Rechenzentren verteilt.

Hinweis

Im folgenden Beispielbefehl konfiguriert der Ausdruck „–ZoneScope "SeattleZoneScope,2; ChicagoZoneScope,1; DallasZoneScope,1"“ den DNS-Server mit einem Array, das die Parameterkombination <ZoneScope>,<weight> enthält.

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1;DallasZoneScope,1" -ZoneName "contosogiftservices.com"

Weitere Informationen finden Sie unter Add-DnsServerQueryResolutionPolicy.

Sie haben nun erfolgreich eine DNS-Richtlinie erstellt, die einen Anwendungslastenausgleich auf Webservern in drei verschiedenen Rechenzentren bereitstellt.

Sie können Tausende von DNS-Richtlinien für Ihre Anforderungen an die Datenverkehrsverwaltung erstellen. Alle neuen Richtlinien werden bei eingehenden Abfragen dynamisch angewendet – ohne dass der DNS-Server neu gestartet werden muss.