Zum Hauptinhalt springen

Ihren ersten S3-Bucket erstellen

Diese Anleitung begleitet Sie bei der Erstellung Ihres ersten S3-Buckets in der Hikube-Konsole bis zum ersten Hochladen einer Datei.


Ziele​

Am Ende dieser Anleitung verfügen Sie über:

  • einen betriebsbereiten S3-Bucket in Ihrem Projekt
  • einen S3-Benutzer mit seinem Zugriffsschlüsselpaar
  • eine erste Datei, hochgeladen mit aws oder mc

Voraussetzungen​


Schritt 1: Den Erstellungsassistenten öffnen​

  1. Melden Sie sich bei der Hikube-Konsole an und wählen Sie Ihr Projekt aus.
  2. Öffnen Sie im Seitenmenü Infrastructure → S3 Buckets. Die Seite Object Storage Buckets wird angezeigt.
  3. Klicken Sie auf Create a bucket.

Schritt 2: Den Bucket konfigurieren und erstellen​

Der Assistent umfasst drei Schritte.

General​

  1. Geben Sie den Bucket name ein (standardmäßig wird ein Name vorgeschlagen). Regeln: Kleinbuchstaben, Ziffern und Bindestriche; beginnt mit einem Buchstaben und endet mit einem Buchstaben oder einer Ziffer; höchstens 16 Zeichen. Beispiel: demo-assets.
  2. Lassen Sie für diese Anleitung folgende Optionen deaktiviert:
    • Enable Object Lock (WORM): jedes Objekt wird nach dem Schreiben 365 Tage lang im Modus COMPLIANCE gesperrt; niemand kann es vor Ablauf ändern oder löschen. Die Dauer ist nicht änderbar, die Sperre lässt sich nach der Erstellung nicht mehr entfernen, und das Löschen des Buckets löscht seine Objekte nicht;
    • Enable encryption at rest (LUKS): verschlüsselt die gespeicherten Daten; kann nach der Erstellung nicht geändert werden.
  3. Klicken Sie auf Next.

Users​

  1. Geben Sie den Username ein (zum Beispiel app-user): 3 bis 16 Zeichen, gleiche Regeln wie für den Namen des Buckets.
  2. Lassen Sie Read only auf No, um Lese- und Schreibzugriff zu erhalten.
  3. Klicken Sie auf Add und dann auf Next.

Mindestens ein Benutzer ist erforderlich, um fortzufahren.

Summary​

Die Summary zeigt den Namen, das Projekt, die Anzahl der zu erstellenden Benutzer, den Zustand der Sperre (Enabled (365 days, COMPLIANCE), wenn sie aktiviert ist) und der Verschlüsselung sowie die Estimated Cost pro GB an. Klicken Sie auf Create bucket.

Während der Erstellung zeigt die Schaltfläche Creating... und dann Provisioning bucket… an: Die Konsole wartet, bis der Bucket bereit ist, bevor sie die Benutzer erstellt.


Schritt 3: Den Zustand des Buckets prüfen​

Der Abschlussbildschirm zeigt Bucket successfully created an. Nachdem Sie die Anmeldedaten abgerufen haben (Schritt 4), klicken Sie auf Finish: Die Konsole öffnet die Seite des Buckets.

Auf dieser Seite:

  • zeigt das Status-Badge Ready an, sobald der Bucket betriebsbereit ist (Provisioning während der Bereitstellung, Error, wenn die Plattform ihn nicht erstellen konnte: siehe Fehlerbehebung);
  • erinnern die Badges WORM und LUKS an den Zustand der Sperre und der Verschlüsselung;
  • zeigt die Karte Access & Configuration den S3-Bucket name und den Endpoint an;
  • listet die Karte Users & Access die Benutzer und ihr Recht auf (Read-only oder Read / Write).

Bucket-Seite: S3-Name, Endpoint und Benutzer

Hinweis

Ist der Bucket nicht rechtzeitig bereit, zeigt die Konsole „Bucket provisioning“ an und erstellt die Benutzer nicht. Warten Sie, bis der Bucket auf Ready wechselt, und erstellen Sie sie dann auf seiner Seite mit Add User (siehe Benutzer und Zugriffsschlüssel verwalten).


Schritt 4: Die Anmeldedaten abrufen​

Der Abschlussbildschirm des Assistenten zeigt für jeden erstellten Benutzer an:

FeldVerwendung
S3 Bucket NameTatsächlicher Name des Buckets, der in Ihren Befehlen und SDKs zu verwenden ist
Access KeyAccess Key ID
Secret KeySecret Access Key
API Endpoint (S3)S3-Endpunkt, zum Beispiel prod.s3.hikube.cloud

Abschlussbildschirm des Bucket-Assistenten: Benutzer-Zugangsdaten (geheimer Schlüssel verdeckt)

Geheimer Schlüssel wird nur einmal angezeigt

Kopieren Sie diese Werte, bevor Sie auf Finish klicken, und bewahren Sie den geheimen Schlüssel in einem Passwortmanager auf. Er wird nicht erneut angezeigt. Bei Verlust erstellen Sie einen neuen Benutzer.

S3 Bucket Name

Der S3 Bucket Name wird von der Plattform generiert, in der Form bucket- gefolgt von einer eindeutigen Kennung (zum Beispiel bucket-1df67984-321d-492d-bb06-2f4527bb0f5b). Er unterscheidet sich vom im Assistenten eingegebenen Namen: Ein S3-Client, der mit diesem konfiguriert ist, erhält AccessDenied. Verwenden Sie in Ihren Clients immer den S3-Namen. Er bleibt auf der Seite des Buckets einsehbar.

Ist er noch nicht bekannt, zeigt der Bildschirm an seiner Stelle „The S3 name will be available in a few moments, on the bucket page.“ an: Entnehmen Sie ihn dann der Karte Access & Configuration auf der Seite des Buckets. Auch der Endpunkt erscheint erst, wenn er bekannt ist.

Exportieren Sie die Werte in Ihrem Terminal:

export S3_ENDPOINT="https://<endpoint>"
export AWS_ACCESS_KEY_ID="<access-key>"
export AWS_SECRET_ACCESS_KEY="<secret-key>"
export BUCKET_NAME="<s3-bucket-name>"

Wird der Endpunkt ohne Präfix angezeigt (zum Beispiel prod.s3.hikube.cloud), stellen Sie https:// voran: Die Clients aws und mc erwarten eine vollständige URL.


Schritt 5: Verbindung und Tests​

Zielen Sie auf Ihren Bucket

Die Schlüssel eines Benutzers berechtigen nicht dazu, alle Buckets des Endpunkts aufzulisten. Die Befehle müssen immer auf Ihren Bucket zielen: s3://$BUCKET_NAME/ oder hikube/$BUCKET_NAME/.

Option A: AWS CLI​

# Eine Testdatei hochladen
echo "hello hikube" > /tmp/hello.txt
aws --endpoint-url "$S3_ENDPOINT" s3 cp /tmp/hello.txt "s3://$BUCKET_NAME/hello.txt"

# Den Inhalt des Buckets auflisten
aws --endpoint-url "$S3_ENDPOINT" s3 ls "s3://$BUCKET_NAME/"

Option B: MinIO Client (mc)​

# Einen Alias für den Endpunkt festlegen
mc alias set hikube "$S3_ENDPOINT" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY"

# Eine Testdatei hochladen und dann den Bucket auflisten
mc cp /tmp/hello.txt "hikube/$BUCKET_NAME/hello.txt"
mc ls "hikube/$BUCKET_NAME/"

Erwartetes Ergebnis: Die Datei hello.txt erscheint in der Liste.

Tipp

Die Karte Access & Configuration auf der Seite des Buckets bietet diese Befehle, bereits mit dem Endpunkt und dem Namen des Buckets ausgefüllt, im Bereich Connection example an.


Schritt 6: Schnelle Fehlerbehebung​

SymptomWahrscheinliche UrsacheMaßnahme
AccessDenied bei aws s3 ls ohne BucketAuflisten des gesamten EndpunktsZielen Sie auf s3://$BUCKET_NAME/
AccessDenied, obwohl der Befehl auf den Bucket zieltIm Assistenten eingegebener Name statt des S3-Namens verwendetVerwenden Sie den Bucket name (bucket-…), der unter Access & Configuration angezeigt wird
AccessDenied beim SchreibenBenutzer mit Read-onlyÄndern Sie sein Recht mit Edit access
SignatureDoesNotMatch / InvalidAccessKeyIdFalsche oder unvollständige SchlüsselKopieren Sie die Schlüssel erneut; ist der geheime Schlüssel verloren, erstellen Sie einen neuen Benutzer
VerbindungsfehlerEndpunkt ohne https://Stellen Sie dem Endpunkt https:// voran

Siehe auch die vollständige Fehlerbehebung.


Schritt 7: Aufräumen​

  1. Löschen Sie die Testdatei:
    aws --endpoint-url "$S3_ENDPOINT" s3 rm "s3://$BUCKET_NAME/hello.txt"
  2. Klicken Sie auf der Seite des Buckets auf Delete (oder öffnen Sie in der Liste das Aktionsmenü des Buckets und wählen Sie Delete).
  3. Geben Sie den genauen Namen des Buckets in Resource name to confirm ein und klicken Sie dann auf Permanently delete.
Unwiderrufliches Löschen

Das Löschen eines Buckets ist endgültig und entfernt alle seine Objekte, auch wenn er nicht leer ist. Kopieren Sie die zu behaltenden Daten, bevor Sie ihn löschen. Ausnahme ist ein gesperrter Bucket (WORM): Er wird aus der Konsole entfernt, seine Objekte bleiben jedoch erhalten und nach ihrem Schreiben 365 Tage lang gesperrt.