Warum DNS High Availability und Fault Tolerance wichtig sind

Wenn Benutzer Ihre Domain in einen Browser eingeben, ist der erste Schritt eine DNS-Suche. Wenn diese Suche fehlschlägt, kann Ihre Website auch offline sein. Wenn sichergestellt ist, dass DNS sowohl hochverfügbar als auch fehlertolerant ist, bleibt Ihre Website auch bei Hardwareausfällen, Netzwerkpartitionen oder DDoS-Angriffen erreichbar. Ein einzelner DNS-Anbieter oder ein einzelner Server ist ein einzelner Fehlerpunkt. Durch die Verteilung der DNS-Auflösung auf mehrere Anbieter und geografische Regionen eliminieren Sie dieses Risiko und erhalten eine nahtlose Benutzererfahrung.

Hochverfügbarkeit (HA) bezieht sich auf die Fähigkeit eines Systems, kontinuierlich ohne Unterbrechung zu arbeiten. Fehlertoleranz (FT) geht noch weiter und ermöglicht es dem System, auch nach einem Ausfall einer Komponente weiterhin korrekt zu funktionieren. In DNS-Begriffen bedeutet HA, dass Ihre DNS-Infrastruktur mit Datenverkehrsüberflutungen umgehen und online bleiben kann, während FT bedeutet, dass bei einem Ausfall eines DNS-Servers oder -Anbieters sofort ein anderer übernimmt, ohne dass es zu beobachtbaren Ausfallzeiten für die Endbenutzer kommt.

DNS-Architektur für Resilienz verstehen

Rekursive und autoritative Server

Jede DNS-Auflösung umfasst zwei Haupttypen von Servern: rekursive Resolver (normalerweise von ISPs oder öffentlichen Anbietern wie Google Public DNS oder Cloudflare betrieben) und autoritative Nameserver (die Sie für Ihre Domain kontrollieren). Konzentrieren Sie sich für die hohe Verfügbarkeit Ihrer eigenen Domain auf die autoritativen Nameserver - die Server, die Anfragen zu den Datensätzen Ihrer Domain beantworten. Die Verteilung dieser Server auf mehrere Anbieter und Standorte stellt sicher, dass rekursive Resolver im Falle eines Ausfalls immer noch Antworten von anderen erhalten können.

DNS-Zonen, Datensätze und Delegation

Die DNS-Zone Ihrer Domain enthält alle Datensätze (A, AAAA, CNAME, MX usw.), die den Datenverkehr steuern. Um Fehlertoleranz zu erreichen, benötigen Sie mindestens zwei maßgebliche Nameservernamen (NS-Einträge), die auf verschiedene IP-Adressen oder Dienstanbieter verweisen. Die meisten Domainregistrare erlauben Ihnen, bis zu 13 NS-Einträge anzugeben, aber praktische Redundanz erfordert mindestens zwei oder drei unabhängige Anbieter.

Schlüsselstrategien für DNS High Availability und Fault Tolerance

  • Verwende mehrere DNS-Anbieter: Verteile autoritative DNS an zwei oder mehr unabhängige Anbieter (z.B. Cloudflare, Amazon Route 53, Google Cloud DNS, NS1).
  • DNS Failover implementieren: Konfigurieren Sie automatische Gesundheitschecks, so dass DNS, wenn Ihr primärer Server nicht erreichbar ist, die IP-Adresse eines Standby-Servers zurückgibt. Dies erfordert entweder einen DNS-Anbieter mit eingebautem Failover oder eine externe Überwachung, die DNS-Einträge über API aktualisiert.
  • Leverage Anycast Routing: Anycast ermöglicht es mehreren Servern, die über den Globus verteilt sind, die gleiche IP-Adresse zu teilen. Benutzeranfragen werden automatisch an den nächstgelegenen oder gesündesten Server weitergeleitet. Dies bietet sowohl Lastverteilung als auch automatisches Failover.
  • Set Short TTL Values: TTL (Time to Live) bestimmt, wie lange ein DNS-Eintrag von rekursiven Resolvern zwischengespeichert wird. Während eines Ausfalls bedeutet ein langer TTL (z. B. 86400 Sekunden), dass Benutzer bis zu 24 Stunden mit einer defekten IP stecken bleiben können. Kurze TTLs (z. B. 60-300 Sekunden) ermöglichen es Ihnen, den Datenverkehr schnell umzuleiten.
  • Überwachen Sie DNS Health Proaktiv: Verwenden Sie Überwachungstools, die die Verfügbarkeit von autoritativen Nameservern überprüfen, die Ausbreitung und die Reaktionszeiten aufzeichnen.
  • Verwenden Sie virtuelle IPs und Load Balancers: Hinter den Kulissen können Sie Floating IPs oder Load Balancer zwischen Ihren Webservern verwenden. DNS kann auf einen Load Balancer verweisen, der dann den Datenverkehr auf gesunde Server verteilt und eine weitere Fehlertoleranzebene hinzufügt.

Schritt-für-Schritt-DNS-Konfiguration für hohe Verfügbarkeit

1. Wählen Sie zwei oder mehr unabhängige DNS-Anbieter

Wählen Sie Anbieter, die robuste SLA-Garantien, Anycast-Netzwerke und API-Zugriff für die Automatisierung anbieten.

  • Cloudflare – beinhaltet DDoS-Schutz und Anycast.
  • Amazon Route 53 – eng mit AWS integriert. Read Route 53 documentation.
  • Google Cloud DNS – globales Netzwerk mit niedriger Latenz.
  • NS1 – fortgeschrittene Verkehrslenkung und Gesundheitskontrollen.

Stellen Sie dann bei Ihrem Domain-Registrar die NS-Einträge so ein, dass sowohl die Nameserver des Primär- als auch die Nameserver des Sekundäranbieters aufgeführt sind. Der Sekundäranbieter muss eine Kopie Ihrer Zone haben (oft durch Zonentransfer repliziert).

2. Konfigurieren Sie DNS-Failover mit Gesundheitschecks

Viele Anbieter bieten einen integrierten Failover-Service an. Zum Beispiel können Sie in Route 53 eine Failover-Routing-Richtlinie mit Gesundheitschecks erstellen. In Cloudflare können Sie Load Balancing mit Origin-Pools verwenden. Die allgemeine Idee:

  • Erstellen Sie einen A-Record für Ihre Domain oder Subdomain, der auf Ihre primäre Server-IP verweist.
  • Erstellen Sie einen sekundären A-Datensatz mit einer niedrigeren Priorität oder verwenden Sie ein Failover-Routing, das auf eine Backup-Server-IP verweist.
  • Konfigurieren Sie Gesundheitschecks, die regelmäßig die Reaktionsfähigkeit des primären Servers testen (HTTP, HTTPS, TCP).
  • Wenn der primäre Gesundheitscheck fehlschlägt, gibt der DNS-Anbieter die Backup-IP automatisch an Abfragen zurück.

Für maximale Widerstandsfähigkeit, stellen Sie sicher, dass der Backup-Server in einem anderen Rechenzentrum oder Cloud-Region ist.

3. Anycast Routing umsetzen

Wenn Ihr DNS-Provider anycast unterstützt, verwenden Sie ihn. Anycast verbirgt Ihre Server-Topologie hinter einer einzigen IP-Adresse. Wenn Benutzer diese IP abfragen, leitet das BGP-Routing des Netzwerks sie zum nächstgelegenen Rechenzentrum. Wenn ein anycast-Knoten ausfällt, leitet der Datenverkehr automatisch zum nächstgelegenen um. So bieten Cloudflare und viele CDNs eine integrierte Hochverfügbarkeit.

Um anycast für Ihre eigene Infrastruktur einzurichten, müssen Sie dasselbe IP-Präfix von mehreren Rechenzentren über BGP ins Internet ankündigen. Dies ist komplexer, kann aber mit Ihrem eigenen ASN- und IP-Speicherplatz erfolgen. Für die meisten Unternehmen ist die Verwendung des anycast-Netzwerks eines Anbieters einfacher.

4. TTL-Einstellungen optimieren

Kurze TTLs (z.B. 300 Sekunden oder 5 Minuten) sind für schnelles Failover unerlässlich, erhöhen jedoch die Abfragelast auf Ihren autoritativen Servern, da rekursive Resolver für eine kürzere Zeit zwischenspeichern.

  • Für kritische A/AAA-Datensätze, die sich während eines Vorfalls möglicherweise ändern müssen: TTL = 60–300 Sekunden
  • Für stabile Datensätze wie MX oder NS: TTL = 3600 Sekunden (1 Stunde) oder länger
  • Denken Sie daran, dass NS-Datensatz-TLs steuern, wie schnell andere DNS-Server über Änderungen an Ihren Nameservern erfahren. Halten Sie NS-TLs moderat (z. B. 86400 Sekunden), aber stellen Sie sicher, dass sie anbieterübergreifend konsistent sind.

Wenn Sie eine IP aufgrund eines Failovers ändern, ermöglicht die kurze TTL die schnelle Ausbreitung der neuen IP. Nach dem Vorfall können Sie zur Primärseite zurückkehren und auf den Ablauf der TTL warten.

5. Automatisieren von DNS-Updates

In dynamischen Umgebungen können Sie DNS-Einträge basierend auf Server-Gesundheit oder Skalierungsereignissen programmgesteuert aktualisieren. Verwenden Sie Provider-APIs. Mit Route 53 können Sie beispielsweise das AWS SDK verwenden, um Datensätze zu aktualisieren. Mit Cloudflare können Sie deren API verwenden. Schreiben Sie Skripte, die:

  • Überprüfen Sie den Serverzustand über Ping, HTTP-Status oder Synthetics.
  • Aktualisieren Sie bei einem Fehler den A-Datensatz (oder ändern Sie das Gewicht in einer gewichteten Routing-Richtlinie), um auf den gesunden Server zu zeigen.
  • Senden Sie Benachrichtigungen an Ihr Überwachungssystem.

Erweiterte DNS-Architektur für Enterprise Fault Tolerance

Multi-Region und Multi-Cloud-Bereitstellung

Für Unternehmen, die Dienste über AWS, GCP und On-Premises betreiben, spielt DNS eine entscheidende Rolle bei der Steuerung des Datenverkehrs in die gesündeste Region. Verwenden Sie Geolocation-Routing, um Benutzer in die nächstgelegene Region zu leiten, und Failover-Routing innerhalb jeder Region. Eine Kombination aus anycast (für die globale Verteilung) und health-check-basiertem Failover (für regionale Ausfälle) bietet nahezu Null Ausfallzeiten.

Hybrid-DNS mit Split Horizon

Interne Benutzer fragen eine private DNS-Zone ab (z. B. mit AWS Route 53 Resolver oder Windows DNS), während externe Benutzer öffentliche autoritative Server abfragen. Dadurch wird sichergestellt, dass der interne Datenverkehr private IPs verwendet (schneller und sicherer), während der externe Datenverkehr öffentliche IPs verwendet. Eine hohe Verfügbarkeit für beide Zonen ist erforderlich.

Überwachung und Wartung von DNS Health

DNS-spezifische Überwachung einrichten

Verwenden Sie Tools wie:

  • Checkly oder Pingdom – um die DNS-Auflösung von mehreren globalen Standorten aus zu überwachen.
  • Nagios / Prometheus mit DNS-Exporteur – um Antwortzeiten und Fehlerraten von Abfragen zu verfolgen.
  • DNSCheck – um Ihre Zonenkonfiguration und -delegation zu validieren.

mindestens Monitor:

  • Alle autoritativen Nameserver-IPs sind über Port 53/853 (TCP/UDP) erreichbar.
  • Ihre Domain wird korrekt aus mehreren globalen Sonden aufgelöst.
  • SOA-Seriennummer stimmt über Anbieter hinweg überein (wenn sie über Zonentransfer repliziert wird).
  • Die NS-Einträge des TLD-Registrars entsprechen Ihrer tatsächlichen Nameserver-Konfiguration.

Testen Sie regelmäßig Failover-Szenarien

Periodische Failover-Tests planen:

  1. Nehmen Sie einen Ihrer primären Server vorübergehend offline (oder blockieren Sie den Gesundheitscheck-Endpunkt).
  2. Stellen Sie sicher, dass DNS innerhalb des erwarteten TTL-Fensters zur Backup-IP wechselt.
  3. Überprüfen Sie, ob Backup-Server die volle Produktionslast bewältigen können.
  4. Aktivieren Sie den primären Server wieder und stellen Sie sicher, dass DNS-Reverts ausgeführt werden.

Verwenden Sie chaos engineering tools, um Fehler auf kontrollierte Weise zu simulieren.

Sicherheitsüberlegungen für hochverfügbares DNS

Bei Fehlertoleranz geht es nicht nur um Ausfälle, sondern auch um Angriffe. DNS ist ein gängiger Vektor für DDoS (Amplifikationsangriffe) und Cache-Vergiftung. Sicherstellen, dass Ihre DNS-Infrastruktur geschützt ist:

  • Verwenden Sie DNS-over-TLS oder DNS-over-HTTPS für Abfragen, um Spoofing und Manipulation zu verhindern (unterstützt von vielen rekursiven Resolvern).
  • DNSSEC kann Ihre Zone signieren und Antworten authentifizieren. Dies verhindert Cache-Vergiftungen und Man-in-the-Middle-Angriffe. DNSSEC erhöht die Widerstandsfähigkeit, indem es die Integrität Ihrer Datensätze sicherstellt, auch wenn mehrere Anbieter verwendet werden.
  • DDoS-Abwehr: Wählen Sie DNS-Anbieter mit großen Anycast-Netzwerken und Scrubging-Centern. Cloudflare, Akamai und NS1 bieten alle einen integrierten DDoS-Schutz.
  • Verwenden Sie eine Tarifbegrenzung auf Ihren autoritativen Servern, um Missbrauch zu verhindern, aber stellen Sie sicher, dass die Tarifbegrenzungen den legitimen Datenverkehr während eines Spitzenwertes nicht beeinträchtigen.

Häufige Fallstricke zu vermeiden

  • Single Provider Dependency auch bei mehreren Servern: Wenn alle Ihre Nameserver vom selben Anbieter stammen, wird bei einem anbieterweiten Ausfall alles heruntergefahren.
  • Lange TTLs auf Failover-Ziele: Eine TTL von 86400 bedeutet, dass es einen Tag dauern kann, bis sich Änderungen ausbreiten.
  • Glue Records ignorieren: Wenn Sie benutzerdefinierte Nameserver verwenden (z. B. ns1.example.com), benötigen Sie Leim Records beim Registrar, um Auflösungsschleifen zu verhindern.
  • Fehlerübersprüche nicht testen: Das Konfigurieren von Failover-Gesundheitschecks ohne jemals einen Fehler zu simulieren ist riskant. Die Überprüfungen können falsch konfiguriert sein oder der Backup-Server könnte falsch konfiguriert sein.
  • Misaligned zone files across provider: Wenn Sie Datensätze in einem Anbieter manuell aktualisieren, den anderen aber vergessen, kann Inkonsistenz dazu führen, dass der Datenverkehr an den falschen Ort gelangt.

Alles zusammensetzen: Ein Beispiel für eine reale Weltkonfiguration

Angenommen, Ihre Domain läuft auf Webservern in zwei AWS-Regionen (us-east-1 und eu-west-1).

  1. Route 53 mit Primär-A-Datensatz (us-east-1 IP) und Sekundär-A-Datensatz (eu-west-1 IP) unter Verwendung von Failover-Routing-Richtlinien konfigurieren und Gesundheitskontrollen an die Primär-IP anhängen.
  2. Cloudflare als Sekundärstufe einrichten: Entweder Route 53-Zonentransfer zu Cloudflare verwenden oder die Zone manuell replizieren.
  3. Legen Sie beim Registrar NS-Einträge sowohl auf Route 53 als auch auf Cloudflare-Nameservern fest.
  4. Setzen Sie TTL auf A-Datensätze auf 300 Sekunden.
  5. Sowohl Route 53 als auch Cloudflare unterstützen DNSSEC, stellen jedoch sicher, dass die Kette beibehalten wird (Sie müssen sich bei einem Anbieter anmelden und den DS-Eintrag beim Registrar hochladen).
  6. Verwenden Sie ein Tool wie Checkly, um zu überprüfen, ob Abfragen an beide Provider-Nameserver die richtige IP-Adresse zurückgeben.

Im Falle eines Ausfalls von us-east-1 lösen die Gesundheitschecks die Rückgabe der eu-west-1 IP durch Route 53 und Cloudflare aus. Die rekursiven Resolver der Nutzer erhalten die Failover-IP nach Ablauf der TTL (5 Minuten max.). Während des Ausfalls liefert der sekundäre Anbieter weiterhin die korrekte Aufzeichnung, so dass Cloudflare auch dann noch die Failover-IP bedienen würde, wenn Route 53 ebenfalls betroffen wäre.

Schlussfolgerung

DNS für hohe Verfügbarkeit und Fehlertoleranz zu konfigurieren ist keine Set-it-and-forget-it Aufgabe. Es erfordert eine sorgfältige Provider-Auswahl, ein angemessenes TTL-Management, Health-Check-Automatisierung und laufende Überwachung. Die Auszahlung ist signifikant: Selbst bei größeren Ausfällen bleiben Ihre Benutzer mit Ihren Diensten verbunden, halten Vertrauen und Betriebszeit aufrecht. Durch Befolgen der oben beschriebenen Strategien - mehrere Provider, Failover-Routing, Anycast, kurze TTLs, proaktives Testen - bauen Sie eine DNS-Infrastruktur auf, die sowohl gegen Ausfälle als auch gegen Angriffe widerstandsfähig ist.

Weitere Informationen finden Sie in der Routingdokumentation AWS Route 53 und im Cloudflare DNS Learning Center.