Auf dieser Seite wird beschrieben, wie Sie Google Distributed Cloud (GDC) mit Air Gap-Storage-Buckets 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 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 Dual-Zone-Buckets 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
Benennungsrichtlinien für Storage-Buckets
Bucket-Namen müssen den folgenden Benennungsrichtlinien entsprechen:
- Sie müssen innerhalb des Projekts eindeutig sein. Der Management API-Server stellt dem voll qualifizierten Namen des Buckets ein eindeutiges Präfix voran, um Konflikte innerhalb der Organisation zu vermeiden. Im unwahrscheinlichen Fall eines Konflikts zwischen Präfix und Bucket-Namen über Organisationen hinweg schlägt die Bucket-Erstellung mit einem Fehler „Bucket-Name wird verwendet“ fehl.
- Geben Sie keine personenidentifizierbaren Informationen an.
- Sie müssen DNS-konform sein.
- Sie müssen mindestens 1 und maximal 55 Zeichen lang sein.
- Sie müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Ziffern und Bindestriche enthalten.
Bucket erstellen
Standardmäßig verwenden Buckets die Speicherklasse Standard. Wenn Nearline Storage von Ihrem Infrastrukturadministrator 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 Einzelzonen- als auch für Dual-Zone-Buckets unterstützt.
Console
- Klicken Sie im Navigationsmenü auf Object Storage.
- 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 die Schaltfläche toggle_off, um eine Aufbewahrungsrichtlinie festzulegen, und geben Sie die gewünschte Anzahl von Tagen ein. Wenden Sie sich an Ihren Infrastrukturadministrator, wenn Sie die Grenzwerte für die 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 die Seite Buckets nach einigen Minuten und prüfen Sie, ob sich der Bucket-Status von Not ready in Ready geändert hat.
API
Wenn Sie einen zonalen Bucket erstellen möchten, wenden Sie eine Bucket-Spezifikation auf Ihren Projektnamespace an:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f bucket.yaml
Im Folgenden finden Sie ein Beispiel für 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
Im Folgenden finden Sie ein Beispiel für 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
Im Folgenden finden Sie ein Beispiel für 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.
Im Folgenden finden Sie ein Beispiel für eine Dual-Zone-Bucket-Spezifikation 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-Zone-Bucket mit Nearline Storage erstellen möchten, legen Sie storageClass: Nearline fest.
Beachten Sie, dass für Dual-Zone-Buckets nur die V2-Verschlüsselung unterstützt wird und alle Vorgänge zum Erstellen, Aktualisieren oder Löschen einer Dual-Zone-Bucket-Ressource für den globalen API-Server ausgeführt werden müssen.
Wenn Sie einen Dual-Zone-Bucket erstellen möchten, wenden Sie die Spezifikation auf den globalen API-Server an:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f bucket.yaml
gdcloud
So erstellen Sie mit gdcloud einen Einzelzonen-Bucket mit der Speicherklasse Nearline:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_NAME \
--location-type=SingleZone \
--storage-class=Nearline
So erstellen Sie mit gdcloud einen Dual-Zone-Bucket mit dem globalen Standort:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_1,ZONE_2 \
--location-type=AsyncDualZone \
--storage-class=Nearline
Wenn --storage-class nicht angegeben ist, wird standardmäßig Standard verwendet.
Weitere Informationen finden Sie unter gdcloud storage buckets create.
Erstellung von Buckets und 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: Encryption (für Verschlüsselungsdetails) und Fully Qualified Name (mit dem FULLY_QUALIFIED_BUCKET_NAME).
Verschlüsselung v1
Die Informationen beziehen sich auf den AEADKey mit dem Namen obj-FULLY_QUALIFIED_BUCKET_NAME, der als Verweis auf den Verschlüsselungsschlüssel dient, der zum Verschlüsseln von Objekten verwendet wird, die im Bucket gespeichert sind. 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 Verweis für aktive Standard-AEADKeys dient. Aktive Standard-AEADKeys werden zufällig aus 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