Auf dieser Seite wird beschrieben, wie Sie Storage-Buckets für Google Distributed Cloud (GDC) mit Air Gap erstellen.
Hinweis
Storage-Buckets sind Ressourcen, die auf ein bestimmtes Projekt beschränkt sind. Das Projekt fungiert als Container, der Ihre Buckets gruppiert und 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 Projekt auswählen, für das Sie ausreichende Berechtigungen haben.
Erforderliche IAM-Rollen
Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen in Ihrem Projekt-Namespace anzufordern:
- Projekt-Bucket-Administrator (
project-bucket-admin): Erstellen, Aktualisieren und Löschen von Storage-Buckets. - Project Bucket Object Viewer (
project-bucket-object-viewer): Details zu Storage-Buckets und -Objekten aufrufen 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 API-Server für die zonale Verwaltung, falls Sie noch keine haben.
- Gehen Sie bei Dual-Zone-Buckets so vor:
- Prüfen Sie mit Ihrem Infrastrukturbetreiber (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 Infrastrukturbetreiber (IO), ob die benutzerdefinierte Ressource
Benennungsrichtlinien für Storage-Buckets
Bucket-Namen müssen den folgenden Namenskonventionen entsprechen:
- Darf innerhalb des Projekts nur einmal vorkommen. Der Management API-Server stellt dem vollständig qualifizierten Namen des Buckets ein eindeutiges Präfix voran, um Konflikte innerhalb der Organisation zu vermeiden. Im unwahrscheinlichen Fall, dass ein Präfix und ein Bucket-Name in verschiedenen Organisationen kollidieren, schlägt die Bucket-Erstellung mit dem Fehler „Bucket-Name wird verwendet“ fehl.
- Geben Sie keine personenidentifizierbaren Informationen an.
- DNS-konform sein.
- Mindestens 1 und maximal 55 Zeichen enthalten.
- Er muss mit einem Buchstaben beginnen und darf nur Buchstaben, Ziffern und Bindestriche enthalten.
Bucket erstellen
Standardmäßig verwenden Buckets die Speicherklasse Standard. Wenn Nearline Storage von Ihrem Infrastrukturoperator (IO) aktiviert wurde, können Sie auch die Speicherklasse Nearline für Daten auswählen, auf die seltener zugegriffen wird. Nearline Storage wird sowohl für Buckets mit einer Zone als auch für Buckets mit zwei Zonen unterstützt.
Console
- Klicken Sie im Navigationsmenü auf Objektspeicher.
- Wählen Sie in der Projektauswahl das Projekt aus, in dem Sie den Bucket erstellen möchten.
- Klicken Sie auf Bucket erstellen.
- Weisen Sie dem Bucket im Bucket-Erstellungsprozess einen Namen zu, der für alle Buckets im Projekt eindeutig ist.
- Geben Sie eine Beschreibung ein.
- Wählen Sie unter Speicherklasse die Option Standard oder Nearline aus. Die Option Nearline ist nur sichtbar, wenn Nearline Storage aktiviert ist.
- Optional: Klicken Sie auf den Ein/Aus-Button toggle_off, um eine Aufbewahrungsrichtlinie festzulegen, und geben Sie die gewünschte Anzahl von Tagen ein. Wenden Sie sich an Ihren IO, wenn Sie die Limits der Aufbewahrungsrichtlinie überschreiten müssen.
- Klicken Sie auf Erstellen. Eine Erfolgsmeldung wird angezeigt und Sie werden zur Seite Buckets zurückgeleitet.
Wenn Sie prüfen möchten, ob Sie einen neuen Bucket erstellt haben, aktualisieren Sie nach einigen Minuten die Seite Buckets und prüfen Sie, ob sich der Bucket-Status von Not ready in Ready ändert.
gdcloud
So erstellen Sie einen Bucket für eine einzelne Zone mit gdcloud und der Speicherklasse Nearline:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_NAME \
--location-type=SingleZone \
--storage-class=Nearline
So erstellen Sie einen Dual-Zone-Bucket mit gdcloud am globalen Standort:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_1,ZONE_2 \
--location-type=AsyncDualZone \
--storage-class=Nearline
Wenn --storage-class weggelassen wird, wird standardmäßig Standard verwendet.
Weitere Informationen finden Sie unter gdcloud storage buckets create.
API
Wenn Sie einen zonalen Bucket erstellen möchten, wenden Sie eine Bucket-Spezifikation auf Ihren Projekt-Namespace an:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f bucket.yaml
Das folgende Beispiel zeigt eine Bucket-Spezifikation mit der Speicherklasse Standard:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
Das folgende Beispiel zeigt eine Bucket-Spezifikation mit der Speicherklasse Nearline:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: DESCRIPTION
storageClass: Nearline
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
Das folgende Beispiel zeigt eine Bucket-Spezifikation mit der Verschlüsselungsversion v1:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
labels:
object.gdc.goog/encryption-version: v1
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
Weitere Informationen finden Sie in der Bucket API-Referenz.
Das folgende Beispiel zeigt eine Spezifikation für einen Dual-Region-Bucket für den globalen API-Server:
apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: PROJECT_NAME
spec:
location: LOCATION_NAME
description: Sample DZ Bucket
storageClass: Standard
Wenn Sie einen Dual-Region-Bucket mit Nearline Storage erstellen möchten, legen Sie storageClass: Nearline fest.
Beachten Sie, dass für Dual-Region-Buckets nur die V2-Verschlüsselung unterstützt wird und alle Vorgänge zum Erstellen, Aktualisieren oder Löschen einer Dual-Region-Bucket-Ressource über den globalen API-Server ausgeführt werden müssen.
Wenn Sie einen Dual-Region-Bucket erstellen möchten, wenden Sie die Spezifikation auf den globalen API-Server an:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f bucket.yaml
Erstellung des Buckets und der zugehörigen Ressourcen prüfen
Führen Sie nach dem Erstellen des Buckets den folgenden Befehl aus, um die Details des Buckets zu bestätigen und zu prüfen:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG describe buckets BUCKET_NAME -n PROJECT_NAMESPACE
Der Abschnitt Status enthält zwei wichtige Felder: Verschlüsselung (für Verschlüsselungsdetails) und Vollständig qualifizierter Name (enthält den FULLY_QUALIFIED_BUCKET_NAME).
Verschlüsselung v1
Die Informationen beziehen sich auf den AEADKey mit dem Namen obj-FULLY_QUALIFIED_BUCKET_NAME, der als Referenz für den Verschlüsselungsschlüssel dient, der zum Verschlüsseln von im Bucket gespeicherten Objekten verwendet wird. Hier ein Beispiel:
Status:
Encryption:
Key Ref:
Kind: AEADKey
Name: obj-FULLY_QUALIFIED_BUCKET_NAME
Namespace: PROJECT_NAMESPACE
Type: CMEK
Verschlüsselung v2
Die Informationen beziehen sich auf das Secret mit dem Namen kek-ref-FULLY_QUALIFIED_BUCKET_NAME, das als Referenz für aktive Standard-AEADKeys dient. Aktive Standard-AEADKeys werden zufällig ausgewählt, um Objekte zu verschlüsseln, die in den Bucket hochgeladen werden, wenn kein bestimmter AEADKey angegeben ist.
Hier ein Beispiel:
Status:
Encryption:
Key Ref:
Kind: Secret
Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
Namespace: PROJECT_NAMESPACE
Type: CMEK
Sie können auch den folgenden Befehl ausführen, um zu prüfen, ob die erforderlichen AEADKeys erstellt wurden:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get aeadkeys -n PROJECT_NAMESPACE -l cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME