Zum Hauptinhalt springen
Version: Weekly Build

Managed Service Backups

title: Managed Service Backups slug: /managed-services/backups sidebar_position: 3​

Managed Service Backups

Codesphere ermöglicht es, automatisierte Backups für Managed Services zu aktivieren, um Datenverlust zu verhindern. Diese Seite behandelt die allgemeinen Backup-Konzepte, die für alle Managed Services gelten. Anbieterspezifische Konfigurationsbeispiele und Einschränkungen sind auf den jeweiligen Anbieterseiten dokumentiert.

Grundlegende Konzepte​

  • Backup Store: Der externe Speicherort, an dem Backups gespeichert werden. Dies kann ein externer S3-kompatibler Dienst (wie 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.
  • Wiederherstellung (Recovery): Das Erstellen eines neuen Managed Service im exakten Zustand eines vorherigen Backups oder Zeitpunkts.

Anbieterfähigkeiten prüfen​

Nicht alle Managed Services unterstützen Backups oder Point-in-Time Recovery. Um zu prüfen, ob ein Anbieter dies unterstützt, kann der API-Endpunkt /managed-services/providers abgerufen werden. Das capabilities-Objekt listet zwei spezifische Funktionen auf:

  • backups: Der Anbieter unterstützt das Erstellen automatisierter Backups und die Wiederherstellung eines Services in den exakten Zustand zum Zeitpunkt eines bestimmten Backups.
  • pointInTimeRecovery: Zusätzlich zu Standard-Backups unterstützt der Anbieter die Wiederherstellung eines Services 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 können auch in der Benutzeroberfläche eingesehen werden: Die Anbieterdetailseite, die sich öffnet, wenn im Katalog auf einer Anbieterkarte Start setup geklickt 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 in der Benutzeroberfläche oder über die API.

Über die Benutzeroberfläche​

Services, die Backups unterstützen, verfügen über einen eigenen Backups-Tab im Service-Detailfenster. Die gleichen Einstellungen sind auch während der Service-Erstellung verfügbar.

  1. Öffne die Service-Details, indem du auf einen Managed Service in deinem Team klickst
  2. Navigiere zum Backups-Tab
  3. Aktiviere Automatic Backups, um Backups zu aktivieren
  4. 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: Der Endpunkt, die Zugangsdaten und der Pfad deines S3-kompatiblen Backup Store
  5. Klicke auf Save, um die Änderungen zu übernehmen

Über die API​

Gib den Block backups im Request-Body mit enabled: true, deinem intervalH, deleteRetentionDays sowie der Speicher-config und den secrets an. Dies funktioniert sowohl beim Erstellen eines neuen Services (POST) als auch beim Aktualisieren eines bestehenden (PATCH).

info

Die Werte, die für config und secrets angegeben werden (sowohl im backups-Block als auch im unten beschriebenen recoverFrom-Block), können je nach Anbieter unterschiedlich sein. Codesphere validiert sie anhand der vom Anbieter definierten backups.configSchema und backups.secretsSchema. Diese Schemas können in der Antwort des API-Endpunkts /managed-services/providers eingesehen werden, konkrete Beispiele finden sich in der Anbieterdokumentation.

Ü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 }}

Durch das Setzen von enabled: false werden Backups deaktiviert, weitere Felder sind dann nicht erforderlich. Wenn enabled: true gesetzt ist, sind folgende Felder erforderlich:

FeldBeschreibung
deleteRetentionDaysAnzahl der Tage, die jedes Backup vor der automatischen Löschung aufbewahrt wird. Muss zwischen 1 und 365 liegen.
intervalHBackup-Häufigkeit in Stunden. Muss zwischen 1 und 744 liegen.
configAnbieterspezifische Speicherkonfiguration. Unterstützt Referenzen auf Umgebungsvariablen.
secretsAnbieterspezifische Speicher-Zugangsdaten. Unterstützt Vault-Referenzen.

Die Werte von config und secrets müssen den vom Anbieter definierten Schemas backups.configSchema und backups.secretsSchema entsprechen. Konkrete Beispiele findest du in der Anbieterdokumentation.

Backup-Verlauf einsehen​

Über die Benutzeroberfläche​

Der Abschnitt Restore im Backups-Tab zeigt eine Liste aller abgeschlossenen Backups mit:

  • Backup ID: Eindeutiger Bezeichner des Backups
  • Start Time: Zeitpunkt, zu dem das Backup gestartet wurde
  • Finish Time: Zeitpunkt, zu dem das Backup erfolgreich abgeschlossen wurde

Über die API​

Liste deine Managed Services auf und prüfe das Array backups.entries des gewünschten Services:

curl "https://api.codesphere.com/managed-services?team=YOUR_TEAM_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 id des Backups (die als Backup-ID in recoverFrom bei der Wiederherstellung angegeben werden kann), den Zeitpunkt der Planung und Initiierung sowie confirmedAt — den Zeitpunkt, zu dem das Backup im Backup Store bestätigt wurde.

Wiederherstellung aus einem Backup (Recovery)​

Das Wiederherstellen eines Backups in Codesphere erstellt immer einen neuen Managed Service, anstatt die Daten am bestehenden Service zu ersetzen. Der bestehende Managed Service bleibt unangetastet und vollständig unabhängig.

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 Anbieter Point-in-Time Recovery unterstützt — eine vorherige Managed-Service-ID zusammen mit einem Wiederherstellungszeitpunkt.

info

Bei der Wiederherstellung ist der backups-Block nicht unbedingt erforderlich. Er steuert lediglich, ob der wiederhergestellte Service seinerseits Backups von sich selbst erstellt.

Konkrete Beispiele zur Wiederherstellung findest du in der Anbieterdokumentation.

Ein manuelles Backup auslösen​

Für einen Service, bei dem automatische Backups aktiviert sind, kann ein sofortiges, bedarfsgesteuertes 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 Benutzeroberfläche​

Klicke im Backups-Tab der Service-Details auf die Schaltfläche Backup Now. Die Schaltfläche ist deaktiviert, solange automatische Backups nicht aktiviert und gespeichert wurden.

Über die API​

Verwende den POST-Endpunkt, um ein Backup zu planen:

curl -X POST "https://api.codesphere.com/managed-services/YOUR_SERVICE_ID/backups" \
-H "Authorization: Bearer YOUR_API_TOKEN"
info

Wie beim Aktivieren von Backups müssen die anbieterspezifischen config- und secrets-Werte für deinen Backup Store im Request-Body angegeben werden. Sie werden anhand der backups.configSchema und backups.secretsSchema des Anbieters validiert — konkrete Beispiele findest du in der Anbieterdokumentation.

Haftungsausschlüsse und Einschränkungen​

Bei der Nutzung von Managed Service Backups gilt Folgendes zu beachten:

  • Nutzerverantwortung für S3-Speicher: Verschlüsselung und Redundanz der Backups liegen in der Verantwortung des Nutzers. Es muss sicherstellt werden, dass der konfigurierte S3-Speicher den Sicherheits- und Redundanzanforderungen der eigenen Organisation entspricht.
  • Bucket-Kapazität: Es liegt in der Verantwortung des Nutzers, sicherzustellen, dass der Backup Store ausreichend freien Speicherplatz hat. Wenn der Ziel-Bucket keinen Speicherplatz mehr hat oder ein Kontingent erreicht wird, schlagen Backups fehl.
  • Backup-Zeitpunkt: Es gibt keine Garantie für den exakten Zeitpunkt, zu dem ein geplantes Backup erfolgt. Die tatsächliche Erstellung des Backups kann abhängig von Systemlast und Netzwerkbedingungen um einige Minuten verzögert sein.