Managed Service Backups
Codesphere ermöglicht es, automatisierte Backups für Managed Services zu aktivieren, um Datenverlust vorzubeugen. Diese Seite behandelt die allgemeinen Backup-Konzepte, die für alle Managed Services gelten. Anbieterspezifische Konfigurationsbeispiele und Einschränkungen sind auf den jeweiligen Provider-Seiten dokumentiert.
Kernkonzepte
- Backup Store: Der externe Speicherort, an dem Backups gesichert werden. Dies kann ein externer S3-kompatibler Dienst (z. B. AWS S3) oder ein Codesphere S3 Managed Service sein.
- Aufbewahrungszeitraum: Die Anzahl der Tage, die ein Backup aufbewahrt wird, bevor es automatisch von Codesphere gelöscht wird (
deleteRetentionDays). - Intervall: Wie oft ein neues Backup erstellt wird, gemessen in Stunden (
intervalH). Codesphere übernimmt die Planung automatisch. - Recovery: Das Erstellen eines neuen Managed Service im exakten Zustand eines früheren Backups oder Zeitpunkts.
Prüfen der Provider-Fähigkeiten
Nicht alle Managed Services unterstützen Backups oder Point-in-Time Recovery. Um zu prüfen, ob ein Provider dies unterstützt, kann der API-Endpunkt /managed-services/providers abgefragt werden. Das capabilities-Objekt listet zwei spezifische Funktionen auf:
backups: Der Provider unterstützt das Erstellen automatisierter Backups und das Wiederherstellen eines Service in den exakten Zustand zum Zeitpunkt eines bestimmten Backups.pointInTimeRecovery: Zusätzlich zu Standard-Backups unterstützt der Provider die Wiederherstellung eines Service zu einem beliebigen Zeitpunkt (z. B. einer bestimmten Minute) zwischen zwei Backups.
Wenn pointInTimeRecovery den Wert true hat, ist auch die Fähigkeit backups true.
Die Fähigkeiten lassen sich auch in der UI einsehen: Die Provider-Detailseite, die sich öffnet, wenn im Katalog auf einer Provider-Karte Start setup angeklickt wird, listet sie ebenfalls auf.
Backups werden derzeit für PostgreSQL, Babelfish, DocumentDB und Object Storage unterstützt und können in jedem S3-kompatiblen Backup Store gespeichert werden.
Backups aktivieren
Backups können beim Erstellen eines neuen Managed Service oder durch Aktualisieren eines bestehenden aktiviert werden, entweder über die UI oder über die API.
Über die UI
Services, die Backups unterstützen, verfügen über einen eigenen Tab Backups im Service-Detailbereich. Dieselben Einstellungen stehen auch bei der Erstellung des Service zur Verfügung.
-
Öffne die Service-Details, indem du auf einen Managed Service in deiner Resource Group klickst
-
Navigiere zum Tab Backups
-
Aktiviere Automatic Backups, um Backups einzuschalten
-
Konfiguriere die folgenden Einstellungen:
- Backup Frequency: Wie oft Backups erstellt werden (in Stunden)
- Retention Period: Wie viele Tage Backups vor der automatischen Löschung aufbewahrt werden
- Storage Destination: Endpoint, Zugangsdaten und Pfad deines S3-kompatiblen Backup Store
-
Klicke auf Save, um die Änderungen zu übernehmen
Über die API
Gib im Request-Body den Block backups mit enabled: true, deinem intervalH, deleteRetentionDays sowie deiner Speicher-config und deinen secrets an. Dies funktioniert sowohl beim Erstellen eines neuen Service (POST) als auch beim Aktualisieren eines bestehenden (PATCH).
Die Werte, die du für config und secrets angibst (sowohl im backups-Block als auch im unten beschriebenen recoverFrom-Block), können je nach Provider variieren. Codesphere validiert sie anhand der vom Provider definierten backups.configSchema und backups.secretsSchema. Diese Schemas lassen sich in der Antwort des API-Endpunkts /managed-services/providers einsehen, konkrete Beispiele finden sich in der Provider-Dokumentation. Beim Wiederherstellen anhand einer Backup-ID sind config und secrets in recoverFrom optional. Siehe Wiederherstellung nur mit der Backup-ID.
Über ci.yml
Wenn Managed Services in einer ci.yml-Datei definiert werden, kann die Backup-Konfiguration direkt dort angegeben werden. Füge dem Eintrag des Managed Service einen backups-Block hinzu:
managedServices:
my-postgres:
provider:
name: postgres
schemaVersion: v1
plan:
id: 1
parameters: {}
config: {}
secrets: {}
backups:
enabled: true
deleteRetentionDays: 7
intervalH: 24
config:
bucket: ${{ env.BACKUP_BUCKET }}
secrets:
accessKey: ${{ vault.backup_access_key }}
Die Einstellung enabled: false deaktiviert Backups und erfordert keine weiteren Felder. Bei enabled: true sind folgende Felder erforderlich:
| Feld | Beschreibung |
|---|---|
deleteRetentionDays | Tage, die jedes Backup vor der automatischen Löschung aufbewahrt wird. Muss zwischen 1 und 365 liegen. |
intervalH | Backup-Häufigkeit in Stunden. Muss zwischen 1 und 744 liegen. |
config | Anbieterspezifische Speicherkonfiguration. Unterstützt Verweise auf Umgebungsvariablen. |
secrets | Anbieterspezifische Speicherzugangsdaten. Unterstützt Vault-Verweise. |
Die Werte von config und secrets müssen den vom Provider definierten backups.configSchema und backups.secretsSchema entsprechen. Konkrete Beispiele findest du in der Provider-Dokumentation.
Backup-Verlauf anzeigen
Über die UI
Der Bereich Restore im Tab Backups zeigt eine Liste aller abgeschlossenen Backups mit:
- Backup ID: Eindeutige Kennung des Backups
- Start Time: Zeitpunkt, zu dem das Backup gestartet wurde
- Finish Time: Zeitpunkt, zu dem das Backup erfolgreich abgeschlossen wurde
- Restore: Eine Schaltfläche zum Wiederherstellen des Service aus diesem Backup. Siehe Wiederherstellen aus einem Backup.
Über die API
Liste deine Managed Services auf und prüfe das Array backups.entries des gewünschten Service:
curl "https://api.codesphere.com/managed-services?resourceGroup=YOUR_RESOURCE_GROUP_ID" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"id": "8316ee2f-87f8-424e-b925-7382dc50d662",
"name": "my-postgres",
"backups": {
"enabled": true,
"intervalH": 12,
"deleteRetentionDays": 30,
"entries": [
{
"id": "0d95627e-2adf-4f04-9b3d-08d258f978c6",
"scheduledAt": "2026-07-12T19:38:49.410Z",
"initiatedAt": "2026-07-12T19:38:49.410Z",
"confirmedAt": "2026-07-12T19:38:49.410Z"
}
]
}
}
Jeder Backup-Eintrag enthält die Backup-id (die beim Wiederherstellen als Backup-ID in recoverFrom übergeben werden kann), den Zeitpunkt der Planung und Initiierung sowie confirmedAt — den Zeitpunkt, zu dem das Backup im Backup Store bestätigt wurde.
Wiederherstellen aus einem Backup (Recovery)
Das Wiederherstellen eines Backups in Codesphere erstellt immer einen neuen Managed Service, anstatt die Daten an Ort und Stelle zu ersetzen. Der bestehende Managed Service bleibt unverändert und vollständig unabhängig.
Über die UI
Öffne den Managed Service, wechsle zum Tab Backups und klicke neben einem abgeschlossenen Backup auf Restore. Dadurch öffnet sich der Dialog Create Service From Backup, vorausgefüllt mit den Einstellungen des Quell-Service.
Die UI stellt nur anhand einer bestimmten Backup-ID wieder her. Point-in-Time Recovery steht über die API zur Verfügung. Die unter Wiederherstellung nur mit der Backup-ID genannten Voraussetzungen gelten auch für Wiederherstellungen, die über die UI gestartet werden.
Über die API
Um ein Backup wiederherzustellen, erstellst du einen neuen Managed Service und verwendest die Eigenschaft recoverFrom, um entweder eine bestimmte Backup-ID anzugeben oder — falls der Provider Point-in-Time Recovery unterstützt — eine frühere Managed Service ID mit einem Wiederherstellungszeitstempel.
Beim Wiederherstellen ist der backups-Block nicht zwingend erforderlich.
Er steuert lediglich, ob der wiederhergestellte Service selbst Backups von sich erstellt.
Wiederherstellung nur mit der Backup-ID
Beim Wiederherstellen anhand einer bestimmten Backup-ID können config und secrets im recoverFrom-Block weggelassen werden; es genügt, die Backup-id zu übergeben:
"recoverFrom": {
"id": "BACKUP_UUID_HERE"
}
Codesphere ermittelt dann den Managed Service, von dem das Backup erstellt wurde, und übernimmt dessen aktuelle Backup-Store-config und secrets. Dies funktioniert nur, wenn:
- du die Berechtigung hast, den Managed Service zu verwalten, von dem das Backup erstellt wurde.
- der neue Service denselben Provider und dieselbe Provider-Schemaversion verwendet wie der Service, von dem das Backup erstellt wurde.
- das Backup bestätigt wurde.
- der Quell-Service weiterhin über einen konfigurierten Backup Store verfügt.
Konkrete Wiederherstellungsbeispiele findest du in der Provider-Dokumentation.
Manuelles Backup auslösen
Für einen Service, bei dem automatische Backups aktiviert sind, kann ein sofortiges On-Demand-Backup geplant werden. Manuelle Backups werden außerhalb des regulären Zeitplans erstellt und wirken sich nicht auf die konfigurierte Backup-Häufigkeit aus.
Über die UI
Klicke im Tab Backups der Service-Details auf die Schaltfläche Backup Now. Die Schaltfläche ist deaktiviert, bis automatische Backups aktiviert und gespeichert wurden.
Über die API
Verwende den POST-Endpoint, um ein Backup zu planen:
curl -X POST "https://api.codesphere.com/managed-services/YOUR_SERVICE_ID/backups" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Wie beim Aktivieren von Backups müssen die anbieterspezifischen config- und secrets-Angaben für deinen Backup Store im Request-Body angegeben werden. Sie werden anhand der backups.configSchema und backups.secretsSchema des Providers validiert — konkrete Beispiele findest du in der Provider-Dokumentation.
Haftungsausschlüsse und Einschränkungen
Bei der Nutzung von Managed Service Backups bitte Folgendes beachten:
- Benutzerverantwortung für S3-Speicher: Verschlüsselung und Redundanz der Backups liegen in der Verantwortung des Nutzers. Es muss sichergestellt werden, dass der konfigurierte S3-Speicher den Sicherheits- und Redundanzanforderungen der eigenen Organisation entspricht.
- Bucket-Kapazität: Es liegt in der eigenen Verantwortung, sicherzustellen, dass der Backup Store über ausreichend freien Speicherplatz verfügt. Wenn der Ziel-Bucket keinen Speicherplatz mehr hat oder ein Kontingent erreicht, schlagen Backups fehl.
- Backup-Zeitpunkt: Es gibt keine Garantie für den exakten Zeitpunkt, zu dem ein geplantes Backup ausgeführt wird. Die tatsächliche Erstellung des Backups kann sich je nach Systemauslastung und Netzwerkbedingungen um einige Minuten verzögern.