Backup & Disaster Recovery¶
Backups sind ein wesentlicher Bestandteil der Datensicherheit und Business Continuity. Die ayedo Kubernetes Distribution bietet umfassende Backup-Lösungen via Velero.
Relevante Vorschriften¶
GDPR Art. 32¶
GDPR Artikel 32 fordert:
Bei der Beurteilung des angemessenen Schutzniveaus sind insbesondere die Risiken zu berücksichtigen, die sich aus der Verarbeitung ergeben, insbesondere durch unbeabsichtigte oder unrechtmäßige Vernichtung, Verlust, Veränderung, unbefugte Offenlegung oder unbefugten Zugriff auf personenbezogene Daten. [Hervorhebung hinzugefügt]
BSI IT-Grundschutz APP.4.4.A18¶
Fordert regelmäßige Backups und getestete Wiederherstellungsprozesse für Kubernetes-Cluster.
NIS2 Art. 21(2)©¶
Anforderung an "Business Continuity, Backup-Management und Wiederherstellung nach Katastrophen".
ISO 27001¶
- A.8.13: Information Backup
- A.8.14: Redundancy of Information Processing Facilities
Backup-Strategie¶
Die ayedo Kubernetes Distribution implementiert eine umfassende Backup-Strategie:
Was wird gesichert?¶
- Kubernetes Ressourcen: Deployments, StatefulSets, ConfigMaps, Secrets, etc.
- Persistent Volumes: Alle PVCs und deren Daten
- Cluster State: Cluster-Konfiguration und Metadaten
- Namespaces: Vollständige Namespace-Backups
Backup-Frequenz¶
Standard-Backup-Schedule:
- Täglich: Automatische Backups um 2:00 Uhr (UTC)
- Wöchentlich: Vollständige Cluster-Backups (Sonntag)
- On-Demand: Manuelle Backups vor größeren Changes
Anpassbare Frequenz je nach Anforderung:
- Stündlich für kritische Anwendungen
- Mehrmals täglich für hochfrequente Änderungen
Retention Policy¶
Standard-Aufbewahrungsfristen:
- Tägliche Backups: 30 Tage
- Wöchentliche Backups: 90 Tage
- Monatliche Backups: 365 Tage (optional)
Velero - Die Backup-Lösung¶
Velero ist die zentrale Backup-Lösung der ayedo Kubernetes Distribution.
Features¶
- Cluster-Backups: Vollständige oder selektive Backups
- Namespace-Backups: Backup einzelner Namespaces
- PV Snapshots: Volume Snapshots via CSI
- Scheduled Backups: Automatisierte Backup-Schedules
- Restore: Einfache Wiederherstellung
Backup-Konfiguration¶
Beispiel: Scheduled Backup
apiVersion: velero.io/v1
kind: Schedule
metadata:
name: daily-backup
namespace: velero
spec:
schedule: "0 2 * * *" # Täglich um 2:00 Uhr
template:
includedNamespaces:
- production
- staging
ttl: 720h # 30 Tage Retention
storageLocation: default
Backup-Annotations¶
Ressourcen können mit Annotations markiert werden, um Backup-Verhalten zu steuern:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: database-pvc
annotations:
backup.velero.io/backup-volumes: "true"
Offsite Storage¶
Backups werden in geografisch getrennten Rechenzentren gespeichert:
- Primary Backup: Rechenzentrum A
- Offsite Backup: Rechenzentrum B (mindestens 100 km entfernt)
Storage Backend:
- S3-kompatibel: MinIO, Hetzner Object Storage, AWS S3
- Verschlüsselt: AES-256 Encryption at Rest
- Immutable: Write-Once-Read-Many (WORM) für Compliance
Recovery Testing¶
Regelmäßige Tests der Wiederherstellung sind entscheidend:
Test-Frequenz¶
- Monatlich: Stichproben-Tests einzelner Ressourcen
- Quartalsweise: Vollständige Namespace-Wiederherstellung
- Jährlich: Disaster-Recovery-Drill (kompletter Cluster)
Test-Prozess¶
- Backup-Auswahl: Wählen Sie ein aktuelles Backup
- Test-Umgebung: Separate Test-Cluster oder Namespace
- Restore: Wiederherstellung mit Velero
- Validation: Verifizierung der Daten und Funktionalität
- Dokumentation: Ergebnisse dokumentieren
Recovery Point Objective (RPO)¶
RPO definiert, wie viele Daten maximal verloren gehen dürfen:
- Standard: 24 Stunden (tägliche Backups)
- Enhanced: 4 Stunden (4x täglich)
- Critical: 1 Stunde (stündliche Backups)
Recovery Time Objective (RTO)¶
RTO definiert, wie lange die Wiederherstellung maximal dauern darf:
- Standard: 4 Stunden
- Enhanced: 2 Stunden
- Critical: 1 Stunde
Backup Monitoring¶
Backup-Status kann über Grafana Dashboards überwacht werden:
Velero Backup Dashboard¶
- Erfolgreiche Backups: Anzahl und Zeitstempel
- Fehlgeschlagene Backups: Fehler und Warnungen
- Backup-Größe: Storage-Verbrauch
- Backup-Dauer: Performance-Metriken
Alerting¶
Automatische Benachrichtigungen bei:
- Fehlgeschlagenen Backups
- Überschreitung der Backup-Dauer
- Storage-Engpässen
- Veralteten Backups (> 25 Stunden)
Disaster Recovery Prozess¶
Im Notfall¶
- Incident Response: Aktivierung des DR-Plans
- Assessment: Bewertung des Schadensumfangs
- Decision: Entscheidung über Restore-Strategie
- Restore: Wiederherstellung via Velero
- Validation: Verifizierung der Wiederherstellung
- Communication: Stakeholder informieren
Restore-Befehle¶
Vollständiger Namespace-Restore:
Selective Restore:
velero restore create --from-backup daily-backup-20251106 \
--include-resources deployment,service \
--namespace production
Backup für Datenbanken¶
Die SDP implementiert für jede Managed App, die nicht von Velero allein gesichert werden kann, einen spezialisierten Backup- und Restore-Prozess. Diese Prozesse sind Teil der Plattform- oder Block-Logik der jeweiligen Managed App.
Automatisiertes Monitoring & Alerting¶
Alle Datenbank-Backups werden überwacht:
- Backup-Ausführung: Kontinuierliche Überwachung der Backup-Jobs
- Backup-Validierung: Automatische Prüfung auf Vollständigkeit und Integrität
- Alerting: Automatische Benachrichtigung bei:
- Fehlgeschlagenen Backups
- Überschreitung der erwarteten Backup-Dauer
- Fehlenden Backups (verpasste Schedule)
- Problemen mit WAL-Archivierung
- Dashboard: Zentrale Übersicht aller Datenbank-Backups in Grafana
PostgreSQL - CloudNativePG¶
Für PostgreSQL Datenbanken nutzt die SDP den CloudNativePG-Operator mit integriertem Backup-Management:
Backup-Mechanismen:
- Physical Backups: Vollständige physische Datenbank-Backups
- WAL (Write-Ahead Log) Archiving: Kontinuierliche Archivierung aller Transaktionen
- Point-in-Time Recovery (PITR): Wiederherstellung zu jedem beliebigen Zeitpunkt
- Incremental Backups: Effiziente inkrementelle Backups basierend auf WAL
Konfiguration:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: production-db
spec:
backup:
barmanObjectStore:
destinationPath: s3://backups/postgresql/
s3Credentials:
accessKeyId:
name: backup-creds
key: ACCESS_KEY_ID
secretAccessKey:
name: backup-creds
key: SECRET_ACCESS_KEY
retentionPolicy: "30d"
Features:
- Automatische Scheduled Backups
- Verschlüsselte Backup-Speicherung
- Automatisches WAL-Archiving
- Backup-Monitoring und Health-Checks
- One-Click Restore via Kubernetes CRD
MongoDB¶
Für MongoDB implementiert die SDP spezialisierte Backup-Prozesse:
Backup-Mechanismen:
- mongodump: Logische Backups der Datenbank
- Oplog Archiving: Continuous Backup via Oplog
- Point-in-Time Recovery: Wiederherstellung zu spezifischem Zeitpunkt
- Replica Set Backups: Backups von sekundären Nodes ohne Produktions-Impact
Features:
- Automatisierte Backup-Jobs via CronJob
- Integriert in Monitoring und Alerting
- Verschlüsselte Backup-Speicherung
- Validierung der Backup-Integrität
MariaDB / MySQL¶
Für MariaDB und MySQL nutzt die SDP spezialisierte Backup-Strategien:
Backup-Mechanismen:
- Percona XtraBackup: Hot Backups ohne Downtime
- mysqldump: Logische Backups für kleinere Datenbanken
- Binary Log Archiving: Continuous Replication Log Archiving
- Point-in-Time Recovery: Wiederherstellung via Binary Logs
Features:
- Automatische Scheduled Backups
- Backup-Validierung und Monitoring
- Verschlüsselte Offsite-Speicherung
- Dokumentierte Restore-Prozesse
Weitere Datenbanken¶
Auch für andere Managed Datenbanken (Redis, ClickHouse, InfluxDB, etc.) implementiert die SDP spezialisierte Backup-Prozesse als Teil der jeweiligen Block-Logik:
- Datenbankspezifische Backup-Tools
- Integriert in zentrales Monitoring
- Automatisches Alerting bei Problemen
- Dokumentierte Restore-Prozeduren
Compliance Checkliste¶
- ✅ Automatische tägliche Backups konfiguriert
- ✅ Offsite Storage in geografisch getrenntem RZ
- ✅ Verschlüsselte Backup-Speicherung
- ✅ Dokumentierte Retention Policy
- ✅ Regelmäßige Restore-Tests (quartalsweise)
- ✅ Backup-Monitoring und Alerting aktiv
- ✅ Dokumentierter Disaster Recovery Plan
- ✅ RPO und RTO definiert
Weitere Informationen¶
Support¶
Für Fragen zu Backups und Disaster Recovery:
- E-Mail: support@ayedo.de
- Emergency: ayedo.de/support (24/7)