-
Erstellen Sie Ihre S3-Zugangsdaten
Für eine Schritt-für-Schritt-Anleitung, siehe das Getting Started "S3-Zugangsdaten hinzufügen".
Denken Sie daran, die Keys nach dem Erstellen lokal abzuspeichern, da es nicht möglich ist, sich den Secret Key erneut anzeigen zu lassen. Weder über die Cloud Console noch über die API.
-
Installieren Sie ein Amazon S3-kompatibles API-Tool
Es gibt mehrere verschiedene Tools zur Auswahl. Beliebte Beispiele sind:
- MinIO Client
mc
- S3cmd
s3cmd
- RCLONE
rclone
- AWS CLI
aws
Für macOS- oder Linux-Benutzer könnte MinIO Client eine interessante Wahl sein, da hier Unix-ähnliche Befehle verwendet werden (z.B.
cat
/cp
/rm
). Klicken Sie auf eine der unteren Optionen, um die nächsten Schritte für das Tool Ihrer Wahl auszuklappen. - MinIO Client
MinIO Client
-
Die Konfigurationsdatei verstehen
Nachdem Sie den MinIO Client installiert haben, muss die Konfigurationsdatei erstellt werden. In der Konfigurationsdatei können mehrere Aliasse hinzugefügt werden. Jedes Alias enthält folgende Informationen:
- Standortgebundener Endpunkt (z.B.
fsn1.your-objectstorage.com
) - Projektgebundener Access Key und Secret Key
Das heißt, für jeden Standort und für jedes Projekt muss ein separater Alias angelegt werden.
Beispiel:
Projekt defaultaccess_key_1secret_key_1
bucket1.fsn1.your-objectstorage.combucket2.nbg1.your-objectstorage.comProjekt holuaccess_key_2secret_key_2
bucket3.fsn1.your-objectstorage.combucket4.fsn1.your-objectstorage.com
In diesem Beispiel sind nur die Buckets
bucket3
undbucket4
:- Im selben Projekt (gleicher Access Key und Secret Key)
- Im selben Standort (gleicher Endpunkt).
Die anderen Buckets haben entweder andere Keys oder einen anderen Endpunkt.
Das heißt, in diesem Beispiel müssten in der
mc
Konfigurationsdatei 3 verschiedene Aliasse angelegt werden.Beispiel-Konfigurationsdatei ausklappen
{ "version": "10", "aliases": { "default-nbg1": { "url": "https://nbg1.your-objectstorage.com", "accessKey": "access_key_1", "secretKey": "secret_key_1", "api": "S3v4", "path": "off" }, "default-fsn1": { "url": "https://fsn1.your-objectstorage.com", "accessKey": "access_key_1", "secretKey": "secret_key_1", "api": "S3v4", "path": "off" }, "holu-fsn1": { "url": "https://fsn1.your-objectstorage.com", "accessKey": "access_key_2", "secretKey": "secret_key_2", "api": "S3v4", "path": "off" } } }
- Standortgebundener Endpunkt (z.B.
-
Die Konfigurationsdatei erstellen
Um die Konfigurationsdatei zu erstellen und das erste Alias hinzuzufügen, kann der
alias set
-Befehl genutzt werden. Später kann dieser Befehl auch genutzt werden, um bestehende Aliasse zu bearbeiten. Sie können dem Alias einen beliebigen Namen geben. Achten Sie lediglich darauf, dass Sie keinen Namen doppelt vergeben. Beachten Sie im untenstehenden Befehl, dass der Hetzner S3 Endpunkt den Standort enthalten muss (in diesem Beispielfsn1
). Wenn Ihre Buckets in einem anderen Standort sind, passen Sie den Endpunkt entsprechend an.mc alias set <alias-name> \ https://fsn1.your-objectstorage.com \ <your_access_key> <your_secret_key> \ --api "s3v4" \ --path "off"
Anschließend sollte die neue Konfigurationsdatei
.mc/config.json
im Benutzerverzeichnis sein. Mit folgendem Befehl kann man sich alle Aliasse listen lassen:mc alias list
-
Die Konfiguration testen
Mit folgendem Befehl werden mittels der Keys und des Endpunkts des angegebenen Aliases alle Buckets gelistet:
mc ls <alias_name>
Als nächstes könnten Sie testen, eine Datei auf einen der Buckets zu kopieren:
mc cp example-file.txt <alias_name>/<bucket_name>/
Damit wird die Datei
example-file.txt
in Ihren Bucket kopiert.Für weitere Befehle, siehe "Command Quick Reference" in der offiziellen MinIO Client Dokumentation.
S3cmd
-
Die Konfigurationsdatei verstehen
Nachdem Sie S3cmd installiert haben, muss die Konfigurationsdatei erstellt werden. Die Konfigurationsdatei enthält folgende Informationen:
- Standortgebundener Endpunkt (z.B.
fsn1.your-objectstorage.com
) - Projektgebundener Access Key und Secret Key
Das heißt, für jeden Standort und für jedes Projekt muss eine eigene Konfigurationsdatei angelegt werden.
Beispiel:
Projekt defaultaccess_key_1secret_key_1
bucket1.fsn1.your-objectstorage.combucket2.nbg1.your-objectstorage.comProjekt holuaccess_key_2secret_key_2
bucket3.fsn1.your-objectstorage.combucket4.fsn1.your-objectstorage.com
In diesem Beispiel sind nur die Buckets
bucket3
undbucket4
:- Im selben Projekt (gleicher Access Key und Secret Key)
- Im selben Standort (gleicher Endpunkt).
Die anderen Buckets haben entweder andere Keys oder einen anderen Endpunkt.
Das heißt, in diesem Beispiel müssten drei verschiedene Konfigurationsdateien angelegt werden.
Beispiel-Konfigurationsdateien ausklappen
.s3cfg-default-fsn1access_key_1secret_key_1
fsn1.your-objectstorage.com%(bucket)s.fsn1.your-objectstorage.com.s3cfg-default-nbg1access_key_1secret_key_1
nbg1.your-objectstorage.com%(bucket)s.nbg1.your-objectstorage.com
.s3cfg-holu-fsn1access_key_2secret_key_2
fsn1.your-objectstorage.com%(bucket)s.fsn1.your-objectstorage.com
Der Default-Name für die Konfigurationsdatei ist
.s3cmd
. Wenn Sie dens3cmd
-Befehl ausführen ohne den Dateinamen anzugeben, nutzt S3cmd automatisch die Informationen (Keys und Endpunkt) aus der Default-Konfigurationsdatei.s3cfg
. Wenn Sie die Keys und den Endpunkt aus einer anderen Konfigurationsdatei verwenden möchsten, müssen Sie den Dateinamen mit dem-c
-Flag angeben. Beispielbefehl um Buckets zu listen:s3cmd -c ~/.s3cfg-project2-nbg1 ls
- Standortgebundener Endpunkt (z.B.
-
Die Konfigurationsdatei erstellen
Um eine Konfigurationsdatei zu erstellen, kann der
--configure
Flag genutzt werden. Mit dem untenstehenden Befehl wird die Default-Datei.s3cmd
erstellt.Um die Konfigurationsdatei mit einem anderen Namen zu erstellen, muss im untenstehenden Befehl
-c <file-name>
ergänzt werden.s3cmd --configure
Sie müssen zwei Keys angeben — den Access Key und den Secret Key. Hinterlegen Sie die Keys aus "Schritt 1". Die Default Region muss nicht geändert werden, da die Angabe auf den Hetzner S3 Endpunkt ohnehin keinen Einfluss hat. Geben Sie als Endpunkt den Hetzner S3 Endpunkt an. Beachten Sie, dass der Hetzner S3 Endpunkt den Standort enthalten muss (in diesem Beispiel
fsn1
). Wenn Ihre Buckets in einem anderen Standort sind, passen Sie den Endpunkt entsprechend an. Für den "DNS-style template" kann der Hetzner S3 Endpunkt mit%(bucket)s
am Anfang der URL angegeben werden.Beispiel für Buckets in Falkenstein:
Konfigurationsparameter Wert Access Key: <your_access_key> Secret Key: <your_secret_key> Default Region: US S3 Endpoint: fsn1.your-objectstorage.com DNS-style template
for accessing a bucket:bucket+hostname:port
%(bucket)s.fsn1.your-objectstorage.com Anschließend sollte die neue Konfigurationsdatei
.s3cfg
im Benutzerverzeichnis sein. -
Die Konfiguration testen
Mit folgendem Befehl werden mittels der Keys und des Endpunkts aus der Konfigurationsdatei alle Buckets gelistet:
Wenn die Konfigurationsdatei nicht den Default-Namen hat, ergänzen Sie
-c <file-name>
im untenstehenden Befehl.s3cmd ls
Als nächstes könnten Sie testen, eine Datei auf einen der Buckets zu kopieren:
Wenn die Konfigurationsdatei nicht den Default-Namen hat, ergänzen Sie
-c <file-name>
im untenstehenden Befehl.s3cmd put example-file.txt s3://<bucket_name>/example.txt
Damit wird die Datei
example-file.txt
in Ihren Bucket kopiert und inexample.txt
umbenannt.
RCLONE
-
Die Konfigurationsdatei verstehen
Nachdem Sie Rclone installiert haben, muss die Konfigurationsdatei erstellt werden. In der Konfigurationsdatei können mehrere "Remotes" hinzugefügt werden. Jedes "Remote" enthält folgende Informationen:
- Standortgebundener Endpunkt (z.B.
fsn1.your-objectstorage.com
) - Projektgebundener Access Key und Secret Key
Das heißt, für jeden Standort und für jedes Projekt muss ein separater "Remote" angelegt werden.
Beispiel:
Projekt defaultaccess_key_1secret_key_1
bucket1.fsn1.your-objectstorage.combucket2.nbg1.your-objectstorage.comProjekt holuaccess_key_2secret_key_2
bucket3.fsn1.your-objectstorage.combucket4.fsn1.your-objectstorage.com
In diesem Beispiel sind nur die Buckets
bucket3
undbucket4
:- Im selben Projekt (gleicher Access Key und Secret Key)
- Im selben Standort (gleicher Endpunkt).
Die anderen Buckets haben entweder andere Keys oder einen anderen Endpunkt.
Das heißt, in diesem Beispiel müssten in der
rclone
Konfigurationsdatei 3 verschiedene "Remotes" angelegt werden.Beispiel-Konfigurationsdatei ausklappen
[default-nbg1] type = s3 provider = Other access_key_id = access_key_1 secret_access_key = secret_key_1 endpoint = nbg1.your-objectstorage.com acl = private region = nbg1 [default-fsn1] type = s3 provider = Other access_key_id = access_key_1 secret_access_key = secret_key_1 endpoint = fsn1.your-objectstorage.com acl = private region = fsn1 [holu-fsn1] type = s3 provider = Other access_key_id = access_key_2 secret_access_key = secret_key_2 endpoint = fsn1.your-objectstorage.com acl = private region = fsn1
- Standortgebundener Endpunkt (z.B.
-
Die Konfigurationsdatei erstellen
Um die Konfigurationsdatei zu erstellen und das erste "Remote" hinzuzufügen, kann der
config
-Befehl genutzt werden. Sie können dem Remote einen beliebigen Namen geben. Achten Sie lediglich darauf, dass Sie keinen Namen doppelt vergeben. Beachten Sie beim Angeben des Endpunkts, dass der Hetzner S3 Endpunkt den Standort enthalten muss (in diesem Beispielfsn1
). Wenn Ihre Buckets in einem anderen Standort sind, passen Sie den Endpunkt entsprechend an.rclone config
Beispiel für Buckets in Falkenstein:
Konfigurationsparameter Wert n) New remote
s) Set configuration password
q) Quit confign Name Hier kann ein beliebiger Name angegeben werden. Um den Remote besser zuordnen zu können, können hier zum Beispiel der Projektname und der Endpunkt-Standort angegeben werden default-fsn1
Storage 4 / Amazon S3 Compliant Storage Providers Provider 32 / Any other S3 compatible provider env_auth 1 / Enter AWS credentials in the next step. Access Key: <your_access_key> Secret Key: <your_secret_key> Region 1 / Will use v4 signatures and an empty region. Endpoint fsn1.your-objectstorage.com Wählen Sie für die restlichen Angaben eine der Optionen. Anschließend kann der Vorgang mit "Quit config" beendet werden und die neue Konfigurationsdatei
.config/rclone/rclone.conf
sollte im Benutzerverzeichnis sein. Mit folgendem Befehl kann man sich alle Remotes listen lassen:rclone listremotes
-
Die Konfiguration bearbeiten
Bearbeiten Sie nun die Datei
.config/rclone/rclone.conf
und fügen Sie die Zeile "region" ein:[holu-fsn1] type = s3 provider = Other access_key_id = <access_key> secret_access_key = <secret_key> endpoint = fsn1.your-objectstorage.com acl = private region = fsn1
-
Die Konfiguration testen
Mit folgendem Befehl werden mittels der Keys und des Endpunkts des angegebenen "Remotes" alle Buckets gelistet:
rclone ls <remote_name>:
Als nächstes könnten Sie testen, eine Datei auf einen der Buckets zu kopieren:
rclone copy example-file.txt <remote_name>:<bucket_name>
Damit wird die Datei
example-file.txt
in Ihren Bucket kopiert.Für weitere Befehle, siehe "Rclone Commands" in der offiziellen RCLONE Dokumentation.
AWS CLI
-
Die Konfigurationsdatei verstehen
Nachdem Sie die AWS CLI installiert haben, müssen die Konfigurationsdatei und die Zugangsdatendatei erstellt werden. In den Dateien können mehrere Profile hinzugefügt werden. Jedes Profil enthält folgende Informationen:
- Standortgebundener Endpunkt (z.B.
fsn1.your-objectstorage.com
) - Projektgebundener Access Key und Secret Key
Das heißt, für jeden Standort und für jedes Projekt muss ein separates Profil angelegt werden.
Beispiel:
Projekt heroaccess_key_1secret_key_1
bucket1.fsn1.your-objectstorage.combucket2.nbg1.your-objectstorage.comProjekt holuaccess_key_2secret_key_2
bucket3.fsn1.your-objectstorage.combucket4.fsn1.your-objectstorage.com
In diesem Beispiel sind nur die Buckets
bucket3
undbucket4
:- Im selben Projekt (gleicher Access Key und Secret Key)
- Im selben Standort (gleicher Endpunkt).
Die anderen Buckets haben entweder andere Keys oder einen anderen Endpunkt.
Das heißt, in diesem Beispiel müssten in der
aws
Konfigurationsdatei und Zugangsdatendatei 3 verschiedene Profile angelegt werden.Beispiel-Konfigurationsdatei und Zugangsdatendatei ausklappen
-
Konfigurationsdatei:
[default] endpoint_url = https://nbg1.your-objectstorage.com [profile hero-fsn1] endpoint_url = https://fsn1.your-objectstorage.com [profile holu-fsn1] endpoint_url = https://fsn1.your-objectstorage.com
-
Zugangsdatendatei:
[default] aws_access_key_id=access_key_1 aws_secret_access_key=secret_key_1 [hero-fsn1] aws_access_key_id=access_key_1 aws_secret_access_key=secret_key_1 [holu-fsn1] aws_access_key_id=access_key_2 aws_secret_access_key=secret_key_2
In den Dateien gibt es ein Default-Profil. Wenn Sie den
aws
-Befehl ausführen ohne einen Profilnamen anzugeben, nutzt die AWS CLI automatisch die Informationen (Keys und Endpunkt) des Default-Profils[default]
. Wenn Sie die Keys und den Endpunkt von einem anderen Profil verwenden möchten, müssen Sie den Profilnamen mit--profile
angeben. Beispielbefehl um Buckets zu listen:aws s3 ls --profile holu-fsn1
- Standortgebundener Endpunkt (z.B.
-
Die Konfigurationsdatei und Zugangsdatendatei erstellen
Um die Dateien zu erstellen, kann der
configure
-Befehl genutzt werden. Mit dem untenstehenden Befehl wird das Default-Profil[default]
erstellt.Um ein Profil mit einem anderen Namen zu erstellen, muss im untenstehenden Befehl
--profile <profile-name>
ergänzt werden.aws configure
Sie müssen zwei Keys angeben — den Access Key und den Secret Key. Hinterlegen Sie die Keys aus "Schritt 1". Die Optionen "Default region name" und "Default output format" können ohne weitere Angaben übersprungen werden.
Das neue Profil wurde nun in den Dateien
~/.aws/credentials
und~/.aws/config
hinzugefügt. Die Datei~/.aws/credentials
enthält bereits den Access Key und den Secret Key. Die Datei~/.aws/config
muss jetzt noch manuell bearbeitet werden, um den Hetzner S3 Endpunkt hinzuzufügen.nano ~/.aws/config
Geben Sie unterhalb des Profils den Hetzner S3 Endpunkt an. Beachten Sie, dass der Hetzner S3 Endpunkt den Standort enthalten muss (in diesem Beispiel
fsn1
). Wenn Ihre Buckets in einem anderen Standort sind, passen Sie den Endpunkt entsprechend an.Beispiel:
[default] endpoint_url = https://fsn1.your-objectstorage.com #Lassen Sie die unteren Zeilen beim Erstellen von Buckets auskommentiert #Entfernen Sie die unteren #-Symbole vor dem Erstellen von signierten URLs #s3 = # addressing_style = virtual
-
Die Konfiguration testen
Mit folgendem Befehl werden mittels der Keys und des Endpunkts aus der Konfigurationsdatei und der Zugangsdatendatei alle Buckets gelistet:
Wenn das Profil nicht den Default-Namen besitzt, ergänzen Sie
--profile <profile-name>
im untenstehenden Befehl.aws s3 ls
Als nächstes könnten Sie testen, eine Datei auf einen der Buckets zu kopieren:
Wenn das Profil nicht den Default-Namen besitzt, ergänzen Sie
--profile <profile-name>
im untenstehenden Befehl.aws s3 cp example-file.txt s3://<bucket_name>/example.txt
Damit wird die Datei
example-file.txt
in Ihren Bucket kopiert und inexample.txt
umbenannt.
Sie sollten nun startklar sein, um Ihre Buckets zu verwalten. Weitere Informationen über verfügbare Funktionen finden Sie in dem Artikel "Liste unterstützter Actions". Für detaillierte Anweisungen, wie man die unterstützten Actions ausführt, lesen Sie bitte die offizielle Dokumentation des Tools, welches Sie installiert haben.