Logo GH

DNS-Routing und Failover

1) Die Rolle von DNS in der Fehlertoleranz

DNS ist der erste „Router“ des Benutzers. Von seinem Design hängen ab:
  • Verfügbarkeit (schneller/zuverlässiger Failover);
  • Leistung (Geo/Latenz-Routing);
  • Kosten (Minimierung der interregionalen egress und 3rd-Party-Anrufe);
  • Sicherheit (DNSSEC, Anti-Hijack, CAA/DMARC/SPF-Kontrolle).

Der Schlüssel: kurze TTLs, wo Dynamik wichtig ist, und eine stabile Zonenarchitektur (public + private, split-horizon).

2) Arten von Aufzeichnungen und Praktiken

A/AAAA - Hauptadressen; Veröffentlichen Sie IPv6 wo immer möglich.
CNAME vs ALIAS/ANAME: Verwenden Sie im Stammverzeichnis der Domain ALIAS/ANAME (oder Provider apex-flattening).
TXT - SPF/DMARC/DKIM, Verifikation; CAA - Einschränkung für Zertifikatsinhaber.
SRV/NS - Service Discovery und Delegation.
SVCB/HTTPS ist ein moderner alternativer Mechanismus mit Prioritäten und Parametern (ALPN, Ports).

Empfehlung: TTL-Standards nach Klassen (Edge/API/Statik) festlegen.

3) Routing-Richtlinien

Weighted (gewichtet) - kontrollierte Verkehrsanteile (Kanarienvögel/blau-grün).
Latency-based - Wählen Sie den Pool aus, der der Verzögerung am nächsten liegt.
Geo-Routing - nach Land/Kontinent/Region; wichtig für die Datenresidenz.
Failover (primär/sekundär) - aktive Überwachung und Umschaltung.
Multi-Wert - mehrere A/AAAA; der Kunde selbst wählt (ersetzt nicht health-checks).
Proximity/ASN Routing - bei einigen Anbietern: über das Kundennetz.

Kombinieren Sie: geo → latency → weight → health.

4) TTL, Caching und Propagierung

TTL API/Lautsprecher: 30-120 s (Balance zwischen Failover-Geschwindigkeit und Last).
Static/CDN: 1–24 ч.
Negative TTL (SOA 'Minimum') - ≤ 60-300 s, sonst wird NXDOMAIN „klebrig“.
Denken Sie daran: Resolver müssen den Cache nicht sofort wegwerfen; Berücksichtigen Sie den „schmutzigen Schwanz“.

5) Gesundheit und Endpoint-Check

Health-Checks aus mehreren Regionen: TCP/443 + HTTP 2xx/3xx und Lambda-Checks von Geschäftskriterien (z.B. successful '/health? deep = true' mit Abhängigkeitsprüfung).
Synthetik (RUM/aktiv): API-Proben entlang der Hauptrouten, TLS/OCSP-Prüfung, DNSSEC-Prüfungen.
Belichten Sie '/ready'(tief) und '/live'(oberflächlich); Binden Sie den DNS-Pool an/ready.

6) Öffentliches vs privates DNS (split-horizon)

Public Zone - Client-Zugriff.
Private Zone - interne Lösung für private Endpunkte (VPC/VNet, on-prem).
Conditional forwarding между on-prem ↔ cloud, region ↔ region.
Benennung: 'api. <brand>.<region>.internal. corp` и `api. <brand>.com`.

7) Sicherheit: DNSSEC und Domain-Politik

DNSSEC: Zonensignatur (KSK/ZSK) einfügen, Schlüsselrotation und Vertrauenskette überwachen.
CAA: Liste der gültigen CAs; Aktivieren Sie' iodef 'für Alert.
SPF/DMARC/DKIM: E-Mail-Reputation und Phishing-Schutz.
Registrar-Lok und MFA auf den Konten des DNS-Anbieters; Änderungsprotokoll (WORM-Speicher).

8) Failover-Design

8. 1 Modelle

Aktiv-Aktiv: zwei + gesunde Pools; Balance durch Latenz/Gewicht, Gesundheitschecks schließen ungesunde aus.
Aktiv-Passiv: Hauptpool + Reserve (0% Gewicht vor Unfall).
Regionalring: Verkehr in die „benachbarte“ Region bei einem lokalen Unfall.
Degradierter Modus: Schreiben Sie auf eine „leichte“ Website/Landing, wenn das Backend nicht verfügbar ist.

8. 2 Schritt-für-Schritt-Szenen

1. Das Monitoring erfasst die Degradation '/ready'.
2. DNS ändert die Antworten (schließt den Pool aus oder ändert die Gewichte).
3. Der Verkehr geht in eine gesunde Region, TTL bestimmt die Geschwindigkeit.
4. Nach der Stabilisierung - die grace-Periode (15-30 min) und nur dann die Rückkehr der Waage.

9) Beispiele für Konfigurationen

9. 1 AWS Route 53 — latency + health + weighted

hcl
Two latency aliases for different regions resource "aws_route53_record" "api_latency_eu" {
zone_id = var. zone_id name  = "api. example. com"
type  = "A"
set_identifier = "eu1"
latency_routing_policy { region = "eu-central-1" }
alias { name = aws_lb. api_eu. dns_name zone_id = aws_lb. api_eu. zone_id evaluate_target_health = true }
health_check_id = aws_route53_health_check. api_eu. id ttl = 60
}

resource "aws_route53_record" "api_latency_us" {
zone_id = var. zone_id name  = "api. example. com"
type  = "A"
set_identifier = "us1"
latency_routing_policy { region = "us-east-1" }
alias { name = aws_lb. api_us. dns_name zone_id = aws_lb. api_us. zone_id evaluate_target_health = true }
health_check_id = aws_route53_health_check. api_us. id ttl = 60
}

Canary in EU: 10% of the weight of the resource "aws_route53_record" "api_weighted_canary" {
zone_id = var. zone_id name  = "api. example. com"
type  = "A"
set_identifier = "eu1-canary"
weighted_routing_policy { weight = 10 }
alias { name = aws_lb. api_eu_canary. dns_name zone_id = aws_lb. api_eu_canary. zone_id evaluate_target_health = true }
ttl = 30
}

9. 2 Cloudflare - Geo/ASN und Failover Pool (Idee)

Load Balancer Pools c health-checks (HTTP/TCP), Load Balancer mit Geo Steering (Kontinente/Länder) und Session affinity.
Fallback: Seitenregel/Transformationsregel auf vereinfachtes Backend bei 5xx Peaks.

9. 3 Azure/GCP

Azure Traffic Manager: Priority/Weighted/Performance/Geographic.
Google Cloud Load Balancing + Cloud DNS policy: geo-policy + health-checks через External HTTP(S) LB.

10) Beobachtbarkeit und SLO DNS

SLI: Resolve-Erfolgsrate, 95. Perzentil der Resolve-Zeit, Anteil der frischen (Nicht-Stale) Antworten innerhalb der TTL.
SLO: z. B. '99. 95% der erfolgreichen Antworten ≤ 100 ms.
Metriken: NXDOMAIN-Rate, SERVFAIL-Rate, Gesundheitspools, Anteil des Verkehrs nach Regionen, Anteil der Kanarienvögel.
Beispiele: Verknüpfen Sie SLIs mit HTTP-Traces über 'trace _ id' in synthetics.

11) Test und Betrieb

Synthetik aus verschiedenen ASNs/Regionen (RIPE Atlas, Catchpoint, k6-DNS).
dnsviz/„ delv “zur Überprüfung auf DNSSEC;„ dig + trace “bei Anomalien.
Staging-Zone ('stg. example. com') für Failover-Proben; rehearsal-script ändert die Gewichte/Prioritäten und kehrt zurück.
Runbook: Wer und wie manuell Gewichte erhöht/senkt, wie man den Pool deaktiviert, wie man „Freeze“ durchführt.

12) Antipatterns

TTL = 3000 + bei kritischen A/AAAA → langsamer/chaotischer Failover.
Keine Health-Checks oder Überprüfung nur des TCP-Ports ohne geschäftliche Invarianten.
Ein Haufen CNAME-Ketten → langsame Resolves, Cash-Chaos.
Der einzige DNS-Anbieter ohne secondary/axfr-Reserve.
Nicht signierte Zone bei DNSSEC-Anforderung; irrelevante CAAs.
Einträge, die auf öffentliche IPs privater Backends/DBs hinweisen.

13) Spezifität von iGaming/Finanzen

Jurisdiktionen: Geo-/Country-Routing für Compliance (Weiterleitung an lokale Domain/Front).
PSP/KYC: dedizierte Subdomains mit separaten TTLs und Failover-Policies; Schnelle Umstellung auf Backup-PSP.
Verantwortungsvolles Spielen: Subdomains mit legalen Seiten sind immer verfügbar (Backup Statics/CDNs).
Audit: Zonenänderungsprotokoll im WORM-Speicher, Signatur der Änderungen und regelmäßige Reviews.
Blocklisten: DNS-Compliance-Regeln nach Region (Edge-Filterung + DNS-Routing).

14) Checkliste Prod-Ready

  • TTL-Profile nach Klassen; negative TTL ≤ 300 s.
  • Zwei unabhängige DNS-Anycast-Netzwerke (primary/secondary), MFA/Registrar-Lock.
  • Policies: geo/latency/weight + health-checks aus mehreren Regionen.
  • DNSSEC aktiviert, CAA/DMARC/DKIM/SPF aktuell.
  • Split-horizon (public/private), private Zonen für den internen Verkehr.
  • Runbook des Failovers/Return, Rehearsal-Skript, kanarische Domänen.
  • SLI/SLO-Überwachung, Warnungen zu NXDOMAIN/SERVFAIL/RTT-Wachstum.
  • Stajing Zone und regelmäßige „Übungen“ failover.
  • Für iGaming: Routing nach Gerichtsbarkeit, separate Domains für PSP/KYC, unveränderliche Prüfung.

15) TL; DR

Bauen Sie eine kombinierte Politik auf: Geo/Latenz + Gesundheitschecks + Gewichte, mit TTL 30-120 s auf Dynamik. Trennen Sie Public/Private (Split-Horizon), aktivieren Sie DNSSEC und CAA, halten Sie Secondary DNS. Machen Sie einen rehearsalen Failover und beobachten Sie SLI/SLO DNS. Berücksichtigen Sie bei iGaming die Gerichtsbarkeiten und Reservierungen von PSP/KYC-Domains mit separaten Regeln und Protokollierung von Änderungen an WORM.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.