Was ist DNS-basiertes Load Balancing?

DNS Load Balancing verbessert die Verfügbarkeit und Performance von Anwendungen, indem Nutzer auf mehrere IP-Adressen für eine einzige Domain verwiesen werden.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • DNS-basiertes Load Balancing definieren
  • Erklären, wie Round-Robin-DNS funktioniert
  • Verschiedene DNS-basierte Load Balancing-Konfigurationen verstehen

Link zum Artikel kopieren

Was ist Load Balancing auf Basis des Domain Name Systems (DNS)?

Unter Load Balancing versteht man die Verteilung des Traffics auf mehrere Server, um die Performance und Verfügbarkeit zu verbessern. Unternehmen beschleunigen Websites und private Netzwerke mit verschiedenen Formen des Load Balancing. Ohne Load Balancing würden die meisten Internetanwendungen und Websites den Traffic nicht effektiv bewältigen oder nicht richtig funktionieren.

DNS nennt man oft das Telefonbuch des Internets, weil es Website-Domains (wie google.com oder nytimes.com) in IP-Adressen übersetzt. Eine IP-Adresse ist ein langes numerisches Label, mit dem Server Websites und jedes mit dem Internet verbundene Gerät identifizieren können. DNS übersetzt Domainnamen in IP-Adressen – ein Prozess, der DNS-Auflösung genannt wird – so müssen sich Nutzer keine langen Zahlenfolgen merken, um auf Websites und Anwendungen zuzugreifen.

Bei der DNS-Auflösung kontaktiert der Browser eines Nutzers einen DNS-Server, um die richtige IP-Adresse der Zielwebsite anzufordern. Die Abfrage einer IP-Adresse von einer Domain wird als DNS-Abfrage bezeichnet.

DNS-basiertes Load Balancing ist eine spezielle Art des Load Balancing, bei der das DNS zur Verteilung des Traffics auf mehrere Server verwendet wird. Dies geschieht durch die Bereitstellung verschiedener IP-Adressen als Antwort auf DNS-Abfragen. Load Balancer entscheiden anhand verschiedener Methoden oder Regeln, welche IP-Adresse als Antwort auf eine DNS-Abfrage freigegeben wird.

Eine der gebräuchlichsten DNS Load Balancing-Techniken ist das sogenannte Round-Robin-DNS.

Was ist Round-Robin-DNS?

Round-Robin-DNS hat dasselbe Ziel wie andere Arten von DNS-basiertem Load Balancing: sie steigert die Performance und Zuverlässigkeit einer Website, indem sie den Traffic verteilt. Im Gegensatz zu einem spezialisierten software- oder hardwarebasierten Load Balancer wird beim Round-Robin-DNS der Lastausgleich jedoch mit einem DNS-Server durchgeführt, der als autoritativer Nameserver bezeichnet wird.

Autoritative Nameserver verfügen über DNS-Einträge, die A-Einträge oder AAAA-Einträge genannt werden und den Namen einer Domain und die dazugehörige IP-Adresse enthalten. Wenn ein Client eine DNS-Abfrage stellt, ist das Ziel der Abfrage, den A-Eintrag (oder AAAA-Eintrag) zu finden. In einem einfachen Setup ist eine Domain mit einem einzigen A-Eintrag an eine einzige IP-Adresse gebunden, sodass eine DNS-Abfrage immer dieselbe IP-Adresse zurückgibt.

Beim Round-Robin-DNS verfügen Domains jedoch über mehrere A-Einträge, die jeweils an eine andere IP-Adresse gebunden sind. Wenn DNS-Abfragen eingehen, rotieren die IP-Adressen nach dem Round-Robin-Prinzip und verteilen die Anfragen auf die zugehörigen Server.

Wie funktioniert das Round-Robin-DNS?

Wenn es fünf IP-Adressen im Round-Robin-DNS gibt, würde eine DNS-Abfrage nur bei jeder sechsten Anfrage die IP-Adresse Nr. 1 zurückgeben. Da jede IP-Adresse einem anderen Server entspricht, reduziert dieses Setup die Arbeitslast jedes Servers und macht eine Überlastung durch Anfragen weniger wahrscheinlich.

Um zu verstehen, wie Round-Robin-DNS funktioniert, betrachten Sie den Besuch einer Website vergleichsweise so, als würden Sie einem Unternehmen ein Stück Post schicken. Nehmen wir an, das Unternehmen verwendet ein Postfach, um die Post seiner Kunden zu empfangen, erhält aber mehr Post, als das einzelne Postfach bewältigen kann. Um dieses Problem zu lösen, könnte das Unternehmen weitere Postfächer kaufen.

Damit die Strategie mit mehreren Postfächern funktioniert, muss das Unternehmen sicherstellen, dass kein Postfach mit Post überfüllt wird. Das bedeutet, dass die Postfachadresse, die angezeigt wird, wenn Kunden die Postanschrift des Unternehmens nachschlagen, nacheinander wechseln muss. Kunde Nr. 1 würde die Postfachadresse Nr. 1 sehen, Kunde Nr. 2 dann die Postfachadresse Nr. 2. Diese Methode würde die Belastung der einzelnen Postfächer verringern und die Gesamtkapazität erhöhen. Ohne die zusätzlichen Postfächer könnte ein einzelnes Postfach leicht überlaufen und die eingehende Post verzögern.

Wie in dem Postfachbeispiel schützt das Round-Robin-DNS die Server davor, mit Anfragen überlastet zu werden, und vermeidet so Verzögerungen bei der Bearbeitung der Anfragen.

Welche anderen Arten des DNS-basierten Load Balancing gibt es?

Der Round-Robin-Ansatz ist zwar sehr beliebt, aber man kann den Traffic auch auf andere Weise routen. Bei den meisten Load Balancern können Domainbesitzer aus verschiedenen Regeln für die Weiterleitung des Traffics wählen.

Ein Beispiel für eine DNS-basierte Load Balancing-Konfiguration ist ein gewichteter Algorithmus, bei dem verschiedenen Servern auf der Grundlage ihrer Kapazität zur Bewältigung des Traffics eine relative Gewichtung zugewiesen wird. Der Traffic wird dann anteilig zugewiesen. Wenn z. B. Server A eine doppelt so hohe Kapazität wie Server B hat, würde der Load Balancer doppelt so viel Traffic an Server A wie an Server B weiterleiten. Dies geschieht durch die Rückgabe der IP-Adresse von Server A als Antwort auf DNS-Abfragen. Beispiele für diese Art von Load Balancing-Algorithmus sind das gewichtete Round-Robin-Verfahren oder die gewichteten wenigsten Verbindung.

Viele der DNS-basierten Load Balancing-Ansätze sind dynamisch, d. h. die Load Balancer berücksichtigen bei der Zuweisung von Anfragen den Zustand und die Antwortzeiten der Server. Dynamische Algorithmen können viele Formen annehmen. „Least Connection“ ist eine Art von dynamischem Load Balancing-Algorithmus. Bei der Konfiguration mit den wenigsten Verbindungen ermittelt die Serverüberwachung, welcher Server derzeit die wenigsten offenen Verbindungen hat, und weist dann den eingehenden Traffic diesem Server zu, indem sie seine IP-Adresse als Antwort auf DNS-Abfragen bereitstellt.

Ein weiterer weit verbreiteter dynamischer Algorithmus ist der Geo-Standort. Bei dieser Konfiguration weist der Load Balancer Anfragen aus einer Region einem bestimmten Server oder Serverset zu. Zum Beispiel könnten alle Anfragen aus Frankreich an „Server F“ und alle Anfragen aus Spanien an „Server S“ gehen.

Ein auf räumlicher Nähe basierender Algorithmus erreicht etwas Ähnliches. Bei dieser Konfiguration weisen die Load Balancer den Traffic dynamisch dem Server zu, der dem Nutzer am nächsten ist.

Dynamische Algorithmen folgen leicht unterschiedlichen Regeln, tun aber letztlich das Gleiche: Sie überwachen den Zustand der Server und optimieren die Zuweisung des Traffics.

Wie funktioniert das DNS-basierte Load Balancing von Cloudflare?

Cloudflare Load Balancing ist eine DNS-basierte Load Balancing-Lösung, die den Zustand des Servers aktiv über HTTP/HTTPS-Anfragen überwacht. Basierend auf den Ergebnissen dieser Integritätsprüfungen lenkt Cloudflare den Traffic auf gesunde Ursprungsserver und weg von ungesunden Servern. Cloudflare Load Balancing bietet Kunden, die ihren Traffic über Reverse-Proxy abwickeln, außerdem den zusätzlichen Sicherheitsvorteil, dass die IP-Adresse des Ursprungsservers maskiert wird. Erfahren Sie mehr über Cloudflare Load Balancing.