Lastverteilung per DNS

Aus Portunity Wiki

Wechseln zu: Navigation, Suche

Via DNS kann ein einfaches Lastverteilungs-System für Dienste im Internet aufgebaut werden. Im englischem wird dabei oft auch vom "Round Robin DNS" gesprochen.

Inhaltsverzeichnis

Funktionsweise

Bei der Lastverteilung via DNS macht man sich zunutze, dass man einem Eintrag im Nameserver (z.B. einer Subdomain) auch mehrere Werte (z.B. IP-Adressen) zuweisen kann. D.h. trotz identischem Label, Klasse und Typ können einem Resource-Record unterschiedliche und mehrfach Daten (englisch "Value") zugeordnet werden. Eine solche Ansammlung wird auch als Resource-Record-Set bezeichnet.

Beispiel:

  • host.example.com. 3600 IN A 192.168.1.1
  • host.example.com. 3600 IN A 192.168.1.2
  • host.example.com. 3600 IN A 192.168.1.3

Fragt ein Resolver nun nach "host.example.com" werden alle drei IP-Adressen in wechselnden Reihenfolgen zurückgeliefert und es liegt in der Verantwortung des Resolvers / Clients welche IP-Adresse dann tatsächlich verwendet wird.

Einschränkungen

Reihenfolge undefiniert

Dies bedeutet gleichzeitig, dass man weder als Administrator der authoritativen Nameserver noch als Domaineigentümer Einfluss über die letztendliche Nutzung hat welcher Eintrag dann tatsächlich verwendet wird.

Auch ist nicht sichergestellt, dass eine gleichmässige oder wirklich zufällige Nutzung erfolgt. Dies wird vor allem auch durch in Resolvern und Clients integrierten Caching-Mechanismen verhindert.Erst bei größerer Last / Traffic kann statistisch von einer gleichmässigeren Verteilung ausgegangen werden - wobei dies eben nicht garantiert sein kann.

Erreichbarkeit der Zielsysteme unberücksichtigt

Des weiteren ist über das DNS-Verfahren nicht gewährleistet, dass die zurückgegebenen Zielsysteme überhaupt erreichbar sind. Soll das Verfahren zur Erhöhung der Ausfallsicherheit beitragen, kann dies allerdings durch zusätzliche Scripte erreicht werden. Dann wird die Erreichbarkeit der Zielsysteme via Script zyklsich abgefragt und im Ausfall-Fall muss dann ein DNS-Update im Nameserver durchgeführt werden (um die Ziel-IP aus dem Resource-Record-Set heraus zu nehmen).

Round-Robin-DNS bei Portunity

Portunity unterstützt Lastverteilung via DNS über das Round-Robin-DNS-Verfahren seit Mai 2011 bei A- und AAAA-Records (also sowohl für IPv4 und IPv6-IP-Adressen).

Im Webinterface können bei den Datenfeldern für A- und AAAA-Einträge einfach via Komma getrennt mehrere IP-Adressen eingetragen werden. Siehe dazu auch den ausführlichen Artikel zum DNS-Dialog im Webinterface.

Persönliche Werkzeuge