Auf dieser Seite wird beschrieben, wie Sie die Richtlinie für den Objektlebenszyklus für Google Distributed Cloud (GDC) Air-Gapped-Storage-Buckets festlegen.
Hinweis
Storage-Buckets sind Ressourcen, die auf ein bestimmtes Projekt beschränkt sind. Das Projekt fungiert als Container, in dem Ihre Buckets gruppiert werden und der ihre Verwaltung über den Management API-Server ermöglicht. Bevor Sie die Vorgänge auf dieser Seite ausführen können, müssen Sie entweder ein neues Projekt erstellen oder ein vorhandenes auswählen, für das Sie die erforderlichen Berechtigungen haben.
Erforderliche IAM-Rollen
Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen in Ihrem Projektnamespace anzufordern:
- Projekt-Bucket-Administrator (
project-bucket-admin): Storage-Buckets erstellen, aktualisieren und löschen. - Projekt-Bucket-Objektbetrachter (
project-bucket-object-viewer): Details zu Storage-Buckets und -Objekten ansehen und prüfen.
Weitere Informationen finden Sie unter Bucket-Zugriff gewähren.
Umgebung vorbereiten
So führen Sie Befehle für den Management API-Server oder den globalen API-Server aus:
- Melden Sie sich an und generieren Sie die kubeconfig-Datei für den zonalen Management API-Server, falls Sie noch keine haben.
- Führen Sie für Buckets mit zwei Zonen die folgenden Schritte aus:
- Prüfen Sie mit Ihrem Infrastruktur-Operator (IO), ob die benutzerdefinierte Ressource
BucketLocationConfigfür Ihre gekoppelten Zonen erstellt wurde. - Generieren Sie die kubeconfig-Datei für den globalen API-Server.
- Prüfen Sie mit Ihrem Infrastruktur-Operator (IO), ob die benutzerdefinierte Ressource
Richtlinie für den Objektlebenszyklus für einen Bucket festlegen
Mit der Richtlinie für den Objektlebenszyklus können Sie Objekte in Ihren Buckets automatisch verwalten. So können Sie Daten während ihres gesamten Lebenszyklus effizienter speichern. Eine Lebenszykluskonfiguration ist eine Liste von Regeln, mit denen eine Gruppe von Objekten basierend auf bestimmten Übereinstimmungskriterien abläuft.
Sie können einen Bucket mit oder ohne Richtlinie für den Objektlebenszyklus erstellen. Außerdem können Sie nach dem Erstellen des Buckets eine neue Lebenszyklusrichtlinie anwenden, eine vorhandene aktualisieren oder eine vorhandene entfernen.
Bei Buckets ohne Versionsverwaltung bedeutet Ablauf, dass das Objekt asynchron dauerhaft entfernt wird.
Bei Buckets mit Versionsverwaltung wird die aktuelle Objektversion durch den Ablauf in eine nicht aktuelle Version umgewandelt und dann wird der aktuellen Version ein Löschmarker hinzugefügt.
Aktualisieren Sie das Feld Bucket.spec.bucketPolicy.lifecyclePolicy, um die Richtlinie für den Objektlebenszyklus festzulegen und zu ändern.
CLI
Im Folgenden finden Sie einige Beispiele für Bucket-Ressourcen mit unterschiedlichen konfigurierten Richtlinien für den Objektlebenszyklus:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire all objects after 365 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 365
id: expire-all-after-365-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects in the logs/ directory after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-logs-dir-after-30-days
status: Enabled
filter:
prefixFilter: "logs/"
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects having specific tag after 30 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 30
id: expire-tagged-objects-after-30-days
status: Enabled
filter:
tagFilters:
- key: environment
value: dev
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire noncurrent versions after 90 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- noncurrentExpiration:
noncurrentDays: 90
id: expire-noncurrent-after-90-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects on a specific date"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
date: "2027-01-01T00:00:00Z"
id: expire-on-specific-date
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with multiple lifecycle rules and advanced filters"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
# Rule 1: Expire objects in 'tmp/' directory AND tagged with 'status=ready' after 7 days
- expiration:
days: 7
id: expire-ready-tmp-objects
status: Enabled
filter:
prefixFilter: "tmp/"
tagFilters:
- key: status
value: ready
# Rule 2: Expire all objects in 'logs/' directory after 90 days
- expiration:
days: 90
id: expire-logs-after-90-days
status: Enabled
filter:
prefixFilter: "logs/"
Alle Aktualisierungen der Lebenszyklusrichtlinie gelten für die vorhandenen Objekte und für Objekte, die nach der Aktualisierung hochgeladen werden.
Wenn für den Bucket auch die Objektsperrung konfiguriert ist, werden Objekte vor dem Ende der Aufbewahrungsfrist vor dem Ablauf geschützt.