DNS in der Cloud: Resolver, Private Zones, Split-Horizon ist ein Thema, das in der Praxis oft unterschätzt wird, obwohl es bei nahezu jedem Incident im Netzwerk- oder Plattformbereich eine Rolle spielt. Wenn Anwendungen „plötzlich“ nicht mehr erreichbar sind, Requests in Timeouts laufen oder Private Endpoints nicht funktionieren, steckt sehr häufig keine mysteriöse Routingstörung dahinter, sondern eine falsche Namensauflösung, ein unerwarteter Resolver-Pfad oder ein Cache-Effekt. Cloud-DNS ist dabei nicht nur „ein bisschen wie On-Prem“, sondern ein eigenes System aus Managed Resolvern, privaten Zonen, Weiterleitungen und Richtlinien – häufig zusätzlich vermischt mit Unternehmens-DNS, VPN/Transit-Anbindungen und service-spezifischen Namensräumen. Dazu kommen moderne Anforderungen: Zero-Trust-Patterns, private Connectivity (z. B. PrivateLink/Private Endpoints), Multi-Region-Setups, Dual-Stack (IPv4/IPv6) und strenge Compliance-Vorgaben. Dieser Artikel erklärt, wie DNS in Cloud-Umgebungen wirklich funktioniert, wie Resolver, Private Zones und Split-Horizon zusammenspielen, welche typischen Failure Modes auftreten und wie Sie DNS so designen, dass es skalierbar, debugbar und sicher bleibt – ohne dass jede Änderung zum Risiko wird.
DNS-Grundlagen, die in der Cloud besonders wichtig sind
DNS wirkt simpel: Name rein, IP raus. In Cloud-Umgebungen entscheidet DNS jedoch oft über Topologie und Sicherheitsmodell. Ob ein Client eine öffentliche IP, eine private Endpoint-IP oder eine interne Load-Balancer-Adresse verwendet, wird häufig durch DNS gesteuert. Deshalb lohnt es sich, drei Begriffe sauber zu trennen:
- Resolver (rekursiver Resolver): Nimmt eine Anfrage entgegen und „arbeitet“ sie über Root/TLD/autoritative Server ab oder nutzt Cache.
- Autoritative Zone: Die Quelle der Wahrheit für einen Namensraum (z. B. example.internal), die Records (A/AAAA/CNAME etc.) verwaltet.
- Stub Resolver: Der Client auf VM/Container/Node, der Anfragen an einen rekursiven Resolver weitergibt.
Wenn Sie DNS-Mechanik und Record-Typen nachschlagen möchten, sind die Beschreibungen der DNS-Grundlagen bei Cloudflare als Einstieg gut verständlich, während die RFCs (z. B. RFC 1034 und RFC 1035) die formale Basis liefern.
Was in der Cloud anders ist: Managed Resolver und „Hidden Defaults“
On-Prem war DNS oft ein klarer Pfad: Client → Unternehmensresolver → ggf. Forwarder → Internet. In der Cloud existieren zusätzlich providerverwaltete Resolver, die eng mit VPC/VNet/Projekt verknüpft sind. Diese Resolver liefern nicht nur „normales DNS“, sondern auch interne Namensräume und Service-Discovery-Funktionen. Typische Unterschiede:
- VPC/VNet-gebundene Resolver: Der „Standard-Resolver“ hängt am Netzwerk und kann interne Zonen automatisch kennen.
- Service-spezifische Namespaces: Managed Services nutzen oft interne Domains oder spezielle Records.
- Policy- und Forwarding-Ebenen: Conditional Forwarding, Resolver Rules, Outbound/Inbound Endpoints.
- DNS als Connectivity-Schalter: Private Endpoints werden häufig über DNS-Antworten aktiviert (public → private).
Gerade diese Defaults sind im Incident-Fall kritisch: Ein Team nimmt an, „wir nutzen doch den Unternehmens-DNS“, während bestimmte Workloads tatsächlich den Cloud-Resolver verwenden – oder umgekehrt.
Resolver-Architektur: Inbound, Outbound und Conditional Forwarding
In hybriden Architekturen müssen Cloud und On-Prem DNS miteinander sprechen. Dafür gibt es meist zwei Richtungen: Anfragen aus der Cloud zu On-Prem-Zonen (Outbound) und Anfragen aus On-Prem zu Cloud-Private-Zonen (Inbound). In beiden Fällen ist Conditional Forwarding das zentrale Werkzeug: Bestimmte Domains werden gezielt an bestimmte Resolver weitergeleitet.
- Outbound-Resolver/Forwarder: Cloud-Workloads fragen z. B. corp.local an → Weiterleitung an On-Prem DNS.
- Inbound-Resolver: On-Prem fragt service.internal an → Weiterleitung in die Cloud, um Private Zones zu erreichen.
- Resolver Rules/Policies: „Wenn Domain X, dann Zielresolver Y“ – oft pro VPC/VNet konfigurierbar.
Provider-Beispiele (als Einstieg in die Begriffswelt): Amazon Route 53 Resolver, Azure DNS Private Resolver, Cloud DNS (Google Cloud).
Private Zones: Wozu sie da sind und warum sie so oft falsch eingesetzt werden
Private Zones (private Hosted Zones, Private DNS Zones, private managed zones) liefern autoritative DNS-Antworten, die nur innerhalb bestimmter Netzbereiche gelten – typischerweise innerhalb einer VPC/VNet oder für verknüpfte Netzwerke. Das ist der Schlüssel für interne Domains, Service-Discovery und private Endpoints. Häufige Einsatzszenarien:
- Interne Services: api.internal zeigt auf private Load Balancer.
- Umgebungstrennung: prod.internal und nonprod.internal mit getrennten Ziel-IPs.
- Private Connectivity: Öffentliche Service-Domains werden intern auf private Endpoint-IPs „umgebogen“.
- Hybrid: On-Prem muss Cloud-internen Namen auflösen (über Inbound Resolver).
Die häufigste Fehleinschätzung ist, dass Private Zones „automatisch überall gelten“. In der Realität müssen Sie meist explizit verknüpfen (Link/Association) – und genau dieser Schritt wird bei neuen VPCs/VNets oder neuen Accounts/Subscriptions gern vergessen.
Split-Horizon DNS: Das Prinzip und die typischen Nebenwirkungen
Split-Horizon bedeutet: Derselbe Name liefert je nach Herkunft der Anfrage unterschiedliche Antworten. Klassisches Beispiel: service.example.com ist extern öffentlich, intern zeigt er auf eine private IP oder einen privaten Endpoint. Split-Horizon ist extrem nützlich – und gleichzeitig eine Hauptquelle für Debugging-Schmerzen, weil „es funktioniert bei mir“ plötzlich eine DNS-Aussage ist.
- Vorteil: Keine getrennten Hostnames nötig, Clients nutzen denselben Namen überall.
- Risiko: Unterschiedliche Resolver liefern unterschiedliche Antworten; Caches machen Verhalten scheinbar zufällig.
- Incident-Muster: Ein Subnet/Nodepool geht über public, ein anderer über private; nur eine AZ betroffen; nur neue Pods betroffen.
TTL und Caching: Warum Änderungen „zu spät“ oder „nur teilweise“ wirken
DNS ist stark cache-getrieben. TTL (Time to Live) definiert, wie lange ein Resolver eine Antwort zwischenspeichert. In Split-Horizon-Setups ist TTL besonders heikel, weil Sie im Incident schnell umschalten möchten (z. B. private → public oder umgekehrt), aber Caches die alte Welt weiter ausliefern.
WorstCasePropagation ≈ TTL
Als Faustregel gilt: Wenn Sie schnelle Umschaltbarkeit benötigen, setzen Sie TTLs bewusst niedrig – aber nicht beliebig, denn sehr niedrige TTLs erhöhen Query-Last und machen Resolver-Kapazität zu einer neuen Abhängigkeit.
Resolver-Pfade in Kubernetes und warum Nodepools DNS „splitten“ können
In Container-Plattformen ist DNS oft mehrstufig: Pods nutzen typischerweise einen Cluster-DNS (z. B. CoreDNS), der wiederum einen Upstream-Resolver verwendet. Wenn Nodepools in unterschiedlichen Subnetzen laufen oder unterschiedliche Upstreams konfiguriert sind, kann derselbe Pod-Name je nach Node unterschiedliche Antworten erhalten. Häufige Ursachen:
- Unterschiedliche Upstreams pro Nodepool: z. B. private Subnetze nutzen Cloud-Resolver, andere nutzen Corporate DNS.
- CoreDNS-Forwarding-Regeln: Conditional Forwarding wurde für bestimmte Domains geändert.
- Search Domains: Unterschiedliche „search“-Suffixe führen zu unerwarteten FQDN-Auflösungen.
- IPv6/Dual-Stack: AAAA wird bevorzugt, aber IPv6-Egress ist nicht korrekt vorhanden.
Operativ heißt das: DNS-Debugging muss dort stattfinden, wo der Query tatsächlich entsteht. Ein „nslookup“ auf Ihrem Laptop hilft selten, wenn der Pod einen anderen Resolverpfad hat.
Häufige Failure Modes in Cloud-DNS-Setups
DNS-Fehler sehen oft wie Netzwerk- oder Applikationsprobleme aus. Die folgenden Failure Modes treten besonders häufig auf und lassen sich mit einer klaren Prüfreihenfolge schnell erkennen.
- Private Zone nicht verknüpft: Neue VPC/VNet ist nicht mit der Private Zone assoziiert → NXDOMAIN oder public IP statt private IP.
- Conditional Forwarding fehlt oder ist falsch: corp.local geht nicht an On-Prem Resolver → NXDOMAIN, SERVFAIL oder falsche Antworten.
- Split-Horizon kollidiert mit Unternehmens-DNS: On-Prem liefert public, Cloud liefert private (oder umgekehrt) → inkonsistente Erreichbarkeit.
- CNAME-Ketten brechen: Private Zone überschreibt nur einen Teil der Kette → Client landet auf unerwarteten Targets.
- TTL/Caching-Effekte: Nach Änderungen liefern Resolver noch alte Antworten → „nur manche Pods“ sind betroffen.
- IPv6 bevorzugt: AAAA wird genutzt, Route/Firewall/NAT64 fehlt → Connect-Timeouts trotz „DNS ok“.
- Resolver-Kapazität oder Limits: Query-Rate zu hoch, Timeouts/Truncation → sporadische SERVFAILs.
DNS für Private Endpoints: Warum Name Resolution zum Connectivity-Schalter wird
Bei Private Endpoints (PrivateLink, Private Endpoints, Private Service Connect) wird DNS häufig genutzt, um einen öffentlichen Servicenamen auf eine private Endpoint-IP umzubiegen. Das ist elegant, weil Anwendungen nicht umkonfiguriert werden müssen. Es ist aber auch fehleranfällig, weil ein kleiner DNS-Fehler sofort zu „Service nicht erreichbar“ führt.
- Symptom: Zugriff klappt über public, aber nicht über private (oder umgekehrt).
- Ursache: Resolver nutzt nicht die private Zone oder „private DNS“ ist nicht aktiv.
- Beweisführung: Aufgelöste IP prüfen und klassifizieren: ist sie privat und im erwarteten CIDR?
Für AWS-spezifische Mechaniken (inklusive privaten Hosted Zones und Resolver) ist AWS PrivateLink in Kombination mit Route 53 Private Hosted Zones eine gute Basis, um DNS-Verhalten sauber zu verstehen.
Sicherheitsaspekte: DNS ist eine Policy-Oberfläche
DNS-Design ist Security-Design. Wer DNS kontrolliert, kontrolliert, wohin Traffic fließt. In der Cloud kommen zusätzlich Risiken hinzu: Fehlkonfigurationen können unbeabsichtigt Datenverkehr aus privaten Netzen in öffentliche Pfade lenken oder Security-Kontrollen umgehen. Wichtige Sicherheitsdimensionen:
- Resolver-Restriktion: Erzwingen, welche Resolver genutzt werden dürfen (z. B. per Netzwerkpolicy, Firewall, DHCP/Agent-Config).
- Zone Ownership: Klare Zuständigkeit, wer Zonen/Records ändern darf (Least Privilege).
- Logging und Auditing: DNS-Query-Logs für kritische Zonen, insbesondere bei Split-Horizon und Private Endpoints.
- Schutz vor „Shadow DNS“: Verhindern, dass Teams eigene Resolver oder inoffizielle Zonen einführen, die Betrieb und Security unterlaufen.
In vielen Organisationen lohnt sich ein DNS-Governance-Modell: zentrale Plattform verwaltet Kernzonen und Resolver-Rules, Produktteams verwalten nur definierte Subdomains.
Designregeln: So bauen Sie ein robustes Cloud-DNS-Setup
Ein robustes Setup ist weniger eine Frage „welcher Provider“, sondern eine Frage klarer Standards. Diese Regeln haben sich in der Praxis bewährt:
- Domänenstrategie festlegen: Interne Domains (z. B. internal.example) bewusst wählen; Namensräume für Umgebungen definieren.
- Split-Horizon bewusst dokumentieren: Welche Names werden intern anders aufgelöst und warum?
- Private Zones konsistent verknüpfen: Automatisierte Associations/Links bei neuen Netzwerken (IaC).
- Conditional Forwarding minimalistisch halten: Nur notwendige Domains forwarden, nicht „alles an alles“.
- TTL-Politik definieren: Niedrig für Umschaltpunkte, höher für stabile Records; Veränderungen planen.
- Dual-Stack testen: AAAA/A getrennt prüfen; IPv6-Egress und Security-Regeln bewusst designen.
- Observability by default: Query-Logs für Kernzonen, Fehlerquoten, Latenzen, NXDOMAIN-Raten.
Troubleshooting-Playbook: In welcher Reihenfolge Sie DNS-Probleme debuggen
DNS-Debugging wird schnell chaotisch, wenn Sie nicht strukturiert vorgehen. Bewährt hat sich eine Prüfreihenfolge, die zuerst Fakten sammelt (welche IP?) und danach Ursachen eingrenzt (welcher Resolverpfad?).
- FQDN bestimmen: Welcher Name wird wirklich aufgerufen? Keine Annahmen, sondern aus Logs/Config verifizieren.
- Auflösung am Ort der Anfrage: Im betroffenen Pod/VM/Node testen, nicht lokal am Laptop.
- Antwort klassifizieren: A/AAAA, CNAME-Kette, TTL, private vs. public IP, erwarteter CIDR.
- Resolver identifizieren: Welcher Resolver wurde genutzt (Stub Config, CoreDNS Upstream, VPC/VNet Resolver, Corporate DNS)?
- Zone- und Link-Check: Existiert der Record in der erwarteten Zone, und ist die Zone korrekt verknüpft?
- Forwarding-Regeln prüfen: Greift eine Resolver Rule? Wird die Domain an den richtigen Zielresolver geschickt?
- Cache-Effekte prüfen: TTL, negative caching (NXDOMAIN), unterschiedliche Resolver-Caches vergleichen.
- Erst danach Netzwerk testen: Wenn DNS korrekt ist, dann TCP/TLS/Route/Security prüfen.
Messgrößen für DNS-Betrieb: SLIs, die wirklich helfen
Wenn DNS kritisch ist, sollte es wie ein Service mit SLIs betrieben werden. Viele Teams messen nur „DNS down“, dabei sind Degradationen (Latenz, NXDOMAIN-Spikes, Resolver-Timeouts) häufiger und für Applikationen genauso schädlich.
- Resolution Success Rate: Anteil erfolgreicher Antworten (keine Timeouts, keine SERVFAIL) pro Resolverpfad.
- DNS Latency p95/p99: Latenz der Namensauflösung; Tail ist besonders relevant.
- NXDOMAIN Rate: Anstieg deutet auf falsche Zone/Forwarding oder Tippfehler in Service Discovery hin.
- Record Drift: Häufigkeit von Änderungen an kritischen Records (z. B. Endpoint-Umschaltungen).
- Split-Horizon Consistency: Anteil Workloads, die erwartete private Antwort erhalten (bei Private Endpoint-Namen).
Gerade bei Split-Horizon ist „Consistency“ entscheidend: Wenn nur 80% der Pods den privaten Endpoint nutzen und 20% ins Public Internet gehen, bekommen Sie nicht nur Performance-Probleme, sondern auch schwer reproduzierbare Fehlerbilder.
Praktische Checkliste: Resolver, Private Zones, Split-Horizon sauber umsetzen
- Resolverpfad dokumentieren: Für Cloud, On-Prem und Kubernetes getrennt (wer fragt wen, und warum?).
- Kernzonen zentral verwalten: Ownership, Änderungsprozess, Audit-Logs.
- Private Zones automatisiert verknüpfen: Keine manuellen Links als „letzter Schritt“ im Runbook.
- Split-Horizon nur gezielt: Für definierte Services (z. B. Private Endpoints), nicht als Default-Muster.
- TTL-Strategie festlegen: Umschaltpunkte mit niedriger TTL, stabile Records höher; Cache-Effekte einplanen.
- Dual-Stack absichern: AAAA nicht unkontrolliert „gewinnen lassen“, wenn IPv6-Egress nicht bereitsteht.
- Observability aktivieren: Query-Logs, NXDOMAIN-Spikes, Latenz p95/p99, segmentiert nach Resolverpfad.
- Runbooks bereitstellen: „Private Zone nicht linked“, „Forwarding falsch“, „Cache/TTL“, „Split-Horizon Drift“.
Cisco Netzwerkdesign, CCNA Support & Packet Tracer Projekte
Cisco Networking • CCNA • Packet Tracer • Network Configuration
Ich biete professionelle Unterstützung im Bereich Cisco Computer Networking, einschließlich CCNA-relevanter Konfigurationen, Netzwerkdesign und komplexer Packet-Tracer-Projekte. Die Lösungen werden praxisnah, strukturiert und nach aktuellen Netzwerkstandards umgesetzt.
Diese Dienstleistung eignet sich für Unternehmen, IT-Teams, Studierende sowie angehende CCNA-Kandidaten, die fundierte Netzwerkstrukturen planen oder bestehende Infrastrukturen optimieren möchten. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
Netzwerkdesign & Topologie-Planung
-
Router- & Switch-Konfiguration (Cisco IOS)
-
VLAN, Inter-VLAN Routing
-
OSPF, RIP, EIGRP (Grundlagen & Implementierung)
-
NAT, ACL, DHCP, DNS-Konfiguration
-
Troubleshooting & Netzwerkoptimierung
-
Packet Tracer Projektentwicklung & Dokumentation
-
CCNA Lern- & Praxisunterstützung
Lieferumfang:
-
Konfigurationsdateien
-
Packet-Tracer-Dateien (.pkt)
-
Netzwerkdokumentation
-
Schritt-für-Schritt-Erklärungen (auf Wunsch)
Arbeitsweise:Strukturiert • Praxisorientiert • Zuverlässig • Technisch fundiert
CTA:
Benötigen Sie professionelle Unterstützung im Cisco Networking oder für ein CCNA-Projekt?
Kontaktieren Sie mich gerne für eine Projektanfrage oder ein unverbindliches Gespräch. Finden Sie mich auf Fiverr.

