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
- Expiration — löscht Objekte nach einer festgelegten Anzahl von Tagen ab dem Upload oder an einem bestimmten Kalenderdatum.
- Prefix — begrenzt den Geltungsbereich der Regel auf einen bestimmten Pfad (z. B. nur der Ordner
logs/). - Einschränkungen:
- Mindestwert — 1 Tag.
- Ausführungszeit — Löschvorgänge werden um
00:00 UTCverarbeitet.
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 UTCausgewertet. 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-objectaus und achten Sie in der Antwort auf den Headerx-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!