Datenhaltungsdauer im S3-Speicher verwalten

Automatisches Löschen von Objekten mit Lifecycle-Regeln in S3.

S3-Speicher ist ein verteiltes Datenspeichersystem, bei dem jede Datei in einem speziellen Container, dem sogenannten Bucket, abgelegt wird. Der Datenzugriff erfolgt über die S3 API, was eine vollständige Kompatibilität mit AWS-Tools und anderen branchenüblichen Diensten gewährleistet.

Ein Lifecycle in S3 ist ein „einmal einrichten und vergessen"-Mechanismus, der Aktionen an Objekten über die Zeit automatisiert. Der häufigste Anwendungsfall ist das automatische Löschen von Dateien nach einer bestimmten Anzahl von Tagen oder zu einem vorab festgelegten Datum. Das hilft, den Speicherplatz zu optimieren, indem temporäre Daten, Logs und veraltete Backups automatisch bereinigt werden.

Unterstützte Funktionen

  1. Expiration — löscht Objekte nach einer festgelegten Anzahl von Tagen ab dem Upload oder an einem bestimmten Kalenderdatum.
  2. Prefix — begrenzt den Geltungsbereich der Regel auf einen bestimmten Pfad (z. B. nur der Ordner logs/).
  3. Einschränkungen:
    • Mindestwert — 1 Tag.
    • Ausführungszeit — Löschvorgänge werden um 00:00 UTC verarbeitet.

Alle Objekte nach 30 Tagen löschen

Um eine automatische Bereinigung für Ihren Bucket einzurichten, gehen Sie wie folgt vor:

Schritt 1. Konfigurationsdatei erstellen Erstellen Sie eine lokale Datei namens lifecycle.json mit folgendem Inhalt:

{
  "Rules": [
    {
      "ID": "DeleteAfter 30Days",
      "Prefix": "",
      "Status": "Enabled",
      "Expiration": {
        "Days": 30
      }
    }
  ]
}

Schritt 2. Konfiguration auf den Bucket anwenden Verwenden Sie das AWS CLI-Dienstprogramm, um die Einstellungen in Ihren Speicher zu laden, indem Sie den Befehl aws s3api put-bucket-lifecycle-configuration ausführen:

aws s3api put-bucket-lifecycle-configuration \
  --bucket your-bucket-name \
  --lifecycle-configuration file://lifecycle.json

Schritt 3. Aktive Regeln überprüfen Um zu bestätigen, dass die Konfiguration erfolgreich angewendet wurde, führen Sie den Befehl aws s3api get-bucket-lifecycle-configuration aus:

aws s3api get-bucket-lifecycle-configuration \
  --bucket your-bucket-name

Tipp

Wenn Sie die automatische Löschung vollständig deaktivieren möchten, führen Sie einfach den Befehl aws s3api delete-bucket-lifecycle --bucket your-bucket-name aus.

Dateien in einem bestimmten Ordner löschen

Wenn Sie nur ein bestimmtes Verzeichnis bereinigen möchten — z. B. logs/ — definieren Sie den Parameter Prefix.

{
  "Rules": [
    {
      "ID": "DeleteLogsAfter7Days",
      "Prefix": "logs/",
      "Status": "Enabled",
      "Expiration": {
        "Days": 7
      }
    }
  ]
}

Nach der Anwendung wirkt sich diese Regel nur auf Objekte aus, die sich im Pfad logs/... befinden.

Dateien zu einem bestimmten Datum löschen

Um eine feste Frist für die Datenspeicherung festzulegen, verwenden Sie den Parameter Date.

{
  "Rules": [
    {
      "ID": "DeleteAtMidnight",
      "Prefix": "",
      "Status": "Enabled",
      "Expiration": {
        "Date": "2026-12-01T00:00:00Z"
      }
    }
  ]
}

Wichtig

Der Zeitstempel muss dem ISO-8601-Format entsprechen (z. B. 2026-12-01T00:00:00Z). Beachten Sie, dass Stunden, Minuten und Sekunden zwingend auf 00:00:00 gesetzt sein müssen.

Hinweise für eine effiziente Verwaltung

Um sicherzustellen, dass Ihre Lifecycle-Regeln wie erwartet funktionieren, sollten Sie folgende technische Besonderheiten beachten:

  • Ausführungsverzögerung: Lifecycle-Regeln werden in der Regel einmal täglich um 00:00 UTC ausgewertet. Die physische Löschung der Daten kann jedoch bis zu 24 Stunden nach Ablauf des Verfallszeitraums dauern.

  • Ablaufstatus prüfen: Sie können in den Metadaten eines Objekts genau nachsehen, wann es zum Löschen vorgemerkt ist. Führen Sie den Befehl head-object aus und achten Sie in der Antwort auf den Header x-amz-expiration.

  • Virtuelle Ordner: S3 ist ein flaches Speichersystem. „Ordner" sind lediglich Präfixe in Dateinamen. Wenn eine Regel alle Objekte mit einem bestimmten Präfix löscht, verschwindet der „Ordner" effektiv aus der Konsolenansicht.

Hinweis zur Versionierung

Wenn die Versionierung für Ihren Bucket aktiviert ist, erstellen Standard-Expiration-Regeln lediglich „Delete Markers". Um ältere Versionen Ihrer Dateien zu bereinigen, müssen Sie zusätzliche NoncurrentVersionExpiration-Regeln konfigurieren.

Profi-Tipp

Bevor Sie eine globale Regel (mit leerem "Prefix": "") auf Produktionsdaten anwenden, testen Sie diese immer zuerst an einem Test-Bucket oder einem bestimmten Unterordner, um versehentlichen Datenverlust zu vermeiden.

Hilfe

Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns