Logo GH

DR-Strategien und RTO/RPO

1) Grundprinzipien

1. Ziele vor Mitteln. Zuerst formulieren wir RTO/RPO und kritische Szenarien, dann wählen wir die Technologie.
2. Segmentierung nach Wichtigkeit. Nicht alle Dienstleistungen erfordern „Gold“; Teilen Sie nach Geschäftskritik.
3. Daten sind der Kern von DR. Konsistenz, Replikation, Verderb-Erkennung und Wiederherstellungspunkt sind wichtiger als Hardware.
4. Automatisierung und Überprüfbarkeit. DR ist ohne IaC, Regress-Recovery-Tests und Telemetrie bedeutungslos.
5. Lehren und Beweise. Ein Plan ohne regelmäßigen „Spieltag“ ist die Illusion der Bereitschaft.
6. Sicherheit und Compliance. Verschlüsselung, Isolation, WORM/immutable-Backups, DPA/Jurisdiktionen.

2) Begriffe und Entsprechungen

RTO - Die Zeit vom Zeitpunkt des Ereignisses bis zur Wiederherstellung des Dienstes ist „normal“.
RPO ist das „Alter“ des letzten gesunden Datenpunkts bei der Wiederherstellung.
RLO (Recovery Level Objective) - Das Niveau der Funktionalität, das wiederhergestellt werden muss (Minimum Viable Service).
MTD (Maximum Tolerable Downtime) ist die Schwelle, ab der ein Unternehmen einen inakzeptablen Schaden erleidet.
RTA/RPA (Actual) - Tatsächliche Zeit/Wiederherstellungspunkt aus der Praxis.

Kommunikation: RTO ≤ MTD; RPA ≤ RPO. Die Kluft zwischen Zielen und Fakten ist Gegenstand von Postmortem und Verbesserungen.

3) DR-Strategieklassen (Bereitschaftsstufen)

NiveauDie BeschreibungTypische RTOs/RPOsDer WertDie Anwendung
Backup/RestoreNur Backups und UmgebungsbildRTO: Stunden-Tage, RPO: Stunden$Unkritische Systeme, Reporting
Pilot Light„Light of Light“: Minimalstapel angehoben, Daten repliziertRTO: Dutzende Minuten-Stunden, RPO: Minuten-Stunden$$Durchschnittliche Kritikalität, Einsparungen
Warm StandbyWarmer Stand: fast fertig, geringe BelastungRTO: minuten- $$$B2C-Core, Zahlungsgateways
Active/PassiveKompletter passiver Klon, automatischer FailoverRTO: Minuten, RPO: Sekunden-Minuten$$$$Missionskritische APIs
Active/ActiveBeide Standorte im AngebotRTO≈0, RPO≈0 - sek. $$$$$Extreme SLOs, globale Produkte
💡 Regel: Wählen Sie ein angemessenes Mindestniveau, das dem Geschäftsrisiko entspricht.

4) Szenarien, gegen die wir uns wehren

Verlust der Region/Cloud/Rechenzentrum (Elektrik, Netz, Anbieter).
Datenkorruption/Bedienerfehler (Löschen, „zerbrochene“ Replikate, logische Beschädigung).
Malware/Ransomware.
Release/Konfigurationsfehler (Massen-Outage).
Zusammenbruch der Abhängigkeit (KMS, DNS, Geheimnisse, Zahlungsanbieter).
Rechtliche Ereignisse (Sperren, Verbot der Entfernung von Daten aus der Gerichtsbarkeit).

Geben Sie für jedes Szenario RTO/RPO, DR-Level, Playbook und Verantwortliche an.

5) Datenstrategien (Schlüssel zu RPO)

5. 1 Backups

Vollständige + inkrementelle + Transaktionslogs (für DB).
Immutable/WORM-Speicher und Offline-Kopien („air-gapped“).
Verzeichnis der Backups mit Metadaten und Krypto-Signaturen; Testwiederherstellung nach Zeitplan.

5. 2 Replikation

Synchron (niedriger RPO, ↑latentnost, Risiko der Ausbreitung von Verderb).
Asynchron (geringe Auswirkung auf Perf, RPO> 0; Kombination mit dem Verderb).
CDC (Change Data Capture) für Streaming-Replikation und Statusrekonstruktion.

5. 3 Schutz vor logischem Verderb

Versionierung/“ Point-in-Time“ (PITR) mit einem Fenster ≥ N Tage.
Signaturen von Invarianten (Salden, Summen, Chexummas) sind ein frühes Detail von „gebrochenen“ Daten.
„Langsame“ Replikationskanäle (Verzögerung 15-60 min) als Puffer gegen sofortigen Verderb.

Skizze zur Auswahl des Wiederherstellungspunkts:
python def pick_restore_point(pitr, anomaly_signals, max_age):
healthy = [p for p in pitr if not anomaly_signals. after(p. time)]
return max(healthy, key=lambda p: p. time if now()-p. time <= max_age else -1)

6) Anwendung, Status, Cache

Statless Layer - Skalieren und neu starten in jeder Region (Bild/Diagramme/Manifeste in Git).
Zustand (DB/Caches/Q): Die Quelle der Wahrheit ist eine der DBs; Caches und Indizes sind neu generierbar.
Idempotenz und Re-Drive - wiederholte Lieferung von Ereignissen ist zulässig; Verwenden Sie outbox/inbox, dedup und Versionen.

7) Netzwerk und Eingangspunkt

GSLB/DNS-Failover: Latenz/gesundheitsbasiert, kurze TTL im Unfallfenster.
Anycast/L7-Proxy: einheitliche IP, Routing für die Gesundheit der Regionen.
Regionale Domänen und Rechtsprechungsrichtlinien (Geo-Pinning für PII).
Zertifikat-Failover/KMS: Ersatzketten, Dual-Key.

Pseudocode des Failovers:
python if slo_breach("region-a") or health("region-a")==down:
route. shift(traffic, from_="region-a", to="region-b", step=20) # канарим enable_readonly_if_needed()

8) Betriebsmodell und Automatisierung

IaC/GitOps: Infrastruktur der zweiten Region = Code, Ein-Knopf-Bereitstellung.
Policy as Code: Gate „keine DR-Manifeste/Backups/Alert - keine Freigabe“.
Runbooks: Schritt-für-Schritt-Anleitung und „roter Knopf“, identisch zu beiden Regionen.
Geheimnisse: kurzlebige Credits, OIDC Federation, Kompromittierungs-/Recall-Plan.

Tor (Idee):
rego package dr deny["Missing PITR ≥ 7d"] {
input. db. pitr_window_days < 7
}
deny["No restore test in 30d"] {
now() - input. db. last_restore_test > 3024h
}

9) Übungen und Tests (Spieltage)

Szenariotabelle: DB-Verlust, „defekte“ Daten, KMS-Ausfall, Regionsturz, plötzliches Egress-Limit.
Häufigkeit: vierteljährlich für missionskritische; Alle sechs Monate für die anderen.
Übungsmetriken: RTA/RPA vs Ziele, Anteil automatischer Schritte, Anzahl manueller Eingriffe, Playbook-Fehler.
Chaos-Rauch in Releases: Der Abbau von Abhängigkeiten sollte DR-Pfade nicht „brechen“.

Beispiel einer Mini-Übung:

T0: cut off the primary database (firewall drop)
T + 2m: GSLB shift 20% of traffic, then 100% at SLO_ok
T + 6m: checking business invariants and lag replication
T + 10m: post-drill: fixing RTA/RPA, playbook improvements

10) Playbooks (kanonische Vorlage)

yaml playbook: "dr-failover-region-a-to-b"
owner: "platform-sre"
rto: "15m"
rpo: "5m"
triggers:
- "health(region-a)==down"
- "slo_breach(payments)"
prechecks:
- "backup_catalog ok; last_restore_test < 30d"
- "pitr_window >= 7d"
steps:
- "Announce incident; open war-room; assign IC"
- "Freeze writes in region-a (flag write_readonly)"
- "Promote db-b to primary; verify replication stopped cleanly"
- "Shift GSLB 20%→50%→100%; monitor p95/error"
- "Enable compensations and re-drive queues"
validation:
- "Business invariants (balances, duplicate_checks)"
- "Synthetic tests green; dashboards stable 30m"
rollback:
- "If db-b unhealthy: revert traffic; engage restore from PITR T-Δ"
comms:
- "Status updates each 15m; external note if SEV1"

11) Beobachtungsmetriken DR

Replica lag (Sek.), RPO-drift (Differenz zwischen Soll und Ist-RPO).
Restore SLI: Zeit der kalten/warmen Erholung in der Umgebung.
Coverage:% der Dienste mit Playbooks/Backups/PITR ≥ N Tagen.
Drill score: Anteil der automatischen Schritte, RTA-Verteilung, Fehlerrate.
Immutability:% der Backups in WORM/air-gapped.
Ereignismetriken: Länge der Warteschlangen/Geschwindigkeit des Re-Drive nach dem Failover.

12) Kosten und Kompromisse

CapEx/OpEx: Warmer Stand billiger als Active/Active, aber teurer als Pilot Light.
Egress: Interregionale/Inter-Cloud-Replikation kostet Geld; Cache/Kompression/lokale Aggregate.
RTO/RPO vs $: Jede „Neun“ der Verfügbarkeit und eine Sekunde RPO kosten ein Vielfaches mehr - stimmen Sie mit dem Geschäft überein.
Grüne Fenster: Batch-Replikation - in billigen/„ grünen “Uhren.

13) Sicherheit und Compliance

Verschlüsselung "in Ruhe" und "im Transit', getrennte KMS-Domänen nach Regionen.
Immutable-Backups, Schutz vor Ransomware: „3-2-1“ (3 Kopien, 2 Medien, 1 offline), MFA-delete.
Gerichtsbarkeiten: Geo-Pinning für PII, Lokalisierung von Backups, Legal Hold über TTL.
Zugriffe nach Zeit: temporäre Rollen für DR-Operationen, Audit-Log.

14) Anti-Muster

„Wir schreiben später einen Plan“ - DR ohne Übung.
Replikation ohne Schutz vor logischem Verderb - multipliziert den Fehler blitzartig.
Eine Region KMS/Geheimnisse - kein Failover möglich.
Backups ohne regelmäßige Genesene - die „Schrödinger“ DR.
Eng verwandte synchrone Transaktionen zwischen Regionen - kaskadierende Latenz/Drop.
Keine Priorisierung: gleiche DR-Ebene für alles (teuer und nutzlos).

15) Checkliste des Architekten

1. RTO/RPO/RLO nach Service und Szenario definiert?
2. Klassifizierte Daten: Quelle der Wahrheit, PITR/Fenster, WORM/immutable?
3. DR-Level (Backup/Restore, Pilot, Warm, A/P, A/A) per Service ausgewählt?
4. Netzwerk: GSLB/Anycast, Zertifikate/Schlüssel mit Bestand, „nur lesen“ Flags?
5. Anhang: Idempotenz, Outbox/Inbox, kompensierende Transaktionen?
6. IaC/GitOps/Policy as Code: Ein Klick auf das Roll-out der zweiten Region?
7. Übung: Zeitplan, RTA/RPA KPI, Post-Training-Aktionen?
8. Überwachung: lag, RPO-drift, restore-SLI, drill-score, immutable backups?
9. Sicherheit/Compliance: KMS-Domains, Jurisdiktionen, Legal Hold?
10. Kosten: egress Budget, „grüne“ Fenster, wirtschaftlich vertretbares Niveau?

16) Mini-Rezepte und Skizzen

16. 1 PITR für Postgres (Idee):

bash base backup daily + WAL archive pg_basebackup -D/backups/base/$ (date +% F)
archive_command='aws s3 cp %p s3://bucket/wal/%f --sse'
restore pg_restore --time "2025-10-31 13:21:00Z"...

16. 2 Schutz vor logischem Verderb (verzögerte Replik):

yaml replication:
mode: async apply_delay: "30m" # window to roll back on corruption

16. 3 Verkehrsumschaltung (GSLB Pseudo-API):

bash gslb set-weight api. example. com region-a 0 gslb set-weight api. example. com region-b 100

16. 4 Prüfung der Invarianten nach dem Failover (Pseudocode):

python assert total_balance(all_accounts) == snapshot_total assert no_duplicates(events_since(t_failover))

Schlussfolgerung

DR ist die Fähigkeit, technische und organisatorische Entscheidungen schneller zu treffen, als der Schaden wächst. Identifizieren Sie realistische RTOs/RPOs, wählen Sie eine ausreichende Bereitschaftsstufe, automatisieren Sie Infrastruktur und Inspektionen, trainieren Sie regelmäßig und messen Sie die tatsächlichen RTAs/RPAs. Dann wird aus dem Unfall kein Desaster, sondern ein überschaubarer Vorfall mit absehbarem Ausgang.

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.