-
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 Hetzner 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 - S5cmd
s5cmd - 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
-
Richten Sie das Tool ein
Klicken Sie auf eine der Optionen, um die entsprechenden Schritte einzublenden.
-
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
bucket3undbucket4:- 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
mcKonfigurationsdatei 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.jsonim 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önnen Sie testen, einen neuen Bucket zu erstellen und eine Datei auf diesen Bucket zu kopieren:
Ersetzen Sie
regionmit einem verfügbaren Standort, z.B.fsn1.mc mb <alias_name>/<bucket_name> --region <region> mc cp example-file.txt <alias_name>/<bucket_name>/Damit wird die Datei
example-file.txtin Ihren Bucket kopiert.Für weitere Befehle, siehe "Command Quick Reference" in der offiziellen MinIO Client Dokumentation.
-
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
bucket3undbucket4:- 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
--configureFlag genutzt werden. Mit dem untenstehenden Befehl wird die Default-Datei.s3cmderstellt.Um die Konfigurationsdatei mit einem anderen Namen zu erstellen, muss im untenstehenden Befehl
-c <file-name>ergänzt werden.s3cmd --configureSie 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)sam 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
.s3cfgim 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 lsAls nächstes können Sie testen einen neuen Bucket zu erstellen und eine Datei auf diesen Bucket zu kopieren:
Wenn die Konfigurationsdatei nicht den Default-Namen hat, ergänzen Sie
-c <file-name>im untenstehenden Befehl.s3cmd mb s3://<bucket_name> --region=fsn1 s3cmd put example-file.txt s3://<bucket_name>/example.txtDamit wird die Datei
example-file.txtin Ihren Bucket kopiert und inexample.txtumbenannt. -
Die Konfigurationsdatei verstehen
Nachdem Sie s5cmd installiert haben, muss die Zugangsdatendatei erstellt werden. In der Zugangsdatendatei können mehrere Profile hinzugefügt werden. Jedes Profil enthält folgende Informationen:
- Projektgebundener Access Key und Secret Key
Das heißt, für jedes Projekt muss ein separates Profil angelegt werden.
Zusätzlich muss der Endpunkt als Umgebungsvariable gespeichert. Der Default-Endpunkt wird standardmäßig für alle Profile verwendet.
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
bucket3undbucket4:- 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 Zugangsdatendatei 2 verschiedene Profile angelegt werden. Die Umgebungsvariable mit dem Default-Endpunkt sollte auf
fsn1.your-objectstorage.comgesetzt werden. -
Die Zugangsdatendatei erstellen und den Endpunkt festlegen
s5cmd liest die Zugangsdaten aus einer Datei. Der Endpunkt muss über eine Umgebungsvariable festgelegt werden.
-
Zugangsdatendatei erstellen
~/.aws/credentialsIn der Datei müssen zwei Keys angeben werden — der Access Key und der Secret Key. Hinterlegen Sie die Keys aus "Schritt 1".
Neben dem Default-Profil können noch weitere Profile mit anderen S3-Keys bestimmt werden.
Beispiel:
[default] aws_access_key_id=<your_access_key_1> aws_secret_access_key=<your_secret_key_1> [project-2] aws_access_key_id=<your_access_key_2> aws_secret_access_key=<your_secret_key_2>
-
Umgebungsvariable speichern
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.Mit den folgenden Beispiel-Befehlen wird
fsn1als Default gesetzt. Zusätzlich wird auch der Endpunkt fürnbg1als Variable gespeichert.Die Befehle unterscheiden sich je nach Betriebssystem Ihres Geräts.
-
Linux
echo 'export S3_ENDPOINT_URL="https://fsn1.your-objectstorage.com"' >> ~/.bashrc echo 'export S5_NBG="https://nbg1.your-objectstorage.com"' >> ~/.bashrc source ~/.bashrc -
macOS
echo 'export S3_ENDPOINT_URL="https://fsn1.your-objectstorage.com"' >> ~/.zshrc echo 'export S5_NBG="https://nbg1.your-objectstorage.com"' >> ~/.zshrc source ~/.zshrc -
Windows (PowerShell)
setx S3_ENDPOINT_URL "https://fsn1.your-objectstorage.com" setx S5_NBG "https://nbg1.your-objectstorage.com"
-
-
-
Die Konfiguration testen
Mit folgenden Befehlen werden mittels der angegeben Keys und dem Endpunkt alle Buckets gelistet.
-
Default-Profil und -Endpunkt verwenden
Dieser Befehl verwendet die Zugangsdaten von dem Default-Profil in
~/.aws/credentialsund den Default-Endpunkt, der über dieS3_ENDPOINT_URL-Umgebungsvariable festgelegt wurde.s5cmd ls
-
Anderes Profil oder Endpunkt verwenden
Wenn Sie ein anderes Profil verwendet möchten, müssen Sie den entsprechenden Profilnamen mit angeben. Auch wenn ein anderer Endpunkt verwendet werden soll, muss dieser im Befehl angegeben werden.
s5cmd \ --profile project-2 \ --endpoint-url https://nbg1.your-objectstorage.com \ lsDieser Befehl verwendet die Zugangsdaten von dem Profil "project-2" in
~/.aws/credentials.Wenn Sie für den alternativen Endpunkt wie in Schritt 2 erklärt eine Variable erstellt haben, können Sie den Namen der Variable angeben anstelle der vollen URL:
-
Linux / macOS
s5cmd \ --endpoint-url $S5_NBG \ ls -
Windows (PowerShell)
s5cmd \ --endpoint-url $env:S5_NBG \ ls
-
Als nächstes können Sie testen einen neuen Bucket zu erstellen und eine Datei auf diesen Bucket zu kopieren. Vorher müssen Sie den Standort des Buckets festlegen.
Wenn der Standort des Buckets nicht dem Default-Endpunkt entspricht, ergänzen Sie
--endpoint-url <endpoint>in den folgendens5cmd-Befehlen.
Wenn das Profil nicht den Default-Namen besitzt, ergänzen Sie--profile <profile-name>in den folgendens5cmd-Befehlen.-
Linux / macOS
export AWS_REGION=fsn1 s5cmd mb s3://<bucket_name> s5cmd cp example-file.txt s3://<bucket_name>/example.txt -
Windows (PowerShell)
$env:AWS_REGION = "fsn1" s5cmd mb s3://<bucket_name> s5cmd cp example-file.txt s3://<bucket_name>/example.txt
Damit wird die Datei
example-file.txtin Ihren Bucket kopiert und inexample.txtumbenannt. -
-
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
bucket3undbucket4:- 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
rcloneKonfigurationsdatei 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 configBeispiel 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-fsn1Storage 4 / Amazon S3 Compliant Storage Providers... Provider 39 / Any other S3 compatible provider (Other) 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.confsollte 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.confund 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önnen Sie testen einen neuen Bucket zu erstellen und eine Datei auf diesen Bucket zu kopieren:
rclone mkdir <remote_name>:<bucket_name> rclone copy example-file.txt <remote_name>:<bucket_name>Damit wird die Datei
example-file.txtin Ihren Bucket kopiert.Für weitere Befehle, siehe "Rclone Commands" in der offiziellen RCLONE Dokumentation.
-
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
bucket3undbucket4:- 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
awsKonfigurationsdatei 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--profileangeben. 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 configureSie 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/credentialsund~/.aws/confighinzugefügt. Die Datei~/.aws/credentialsenthält bereits den Access Key und den Secret Key. Die Datei~/.aws/configmuss jetzt noch manuell bearbeitet werden, um den Hetzner S3 Endpunkt hinzuzufügen.nano ~/.aws/configGeben 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 lsAls nächstes können Sie testen einen neuen Bucket zu erstellen und eine Datei auf diesen Bucket zu kopieren:
Wenn das Profil nicht den Default-Namen besitzt, ergänzen Sie
--profile <profile-name>im untenstehenden Befehl.aws s3 mb s3://<bucket_name> --region fsn1 aws s3 cp example-file.txt s3://<bucket_name>/example.txtDamit wird die Datei
example-file.txtin Ihren Bucket kopiert und inexample.txtumbenannt.
MinIO Client
S3cmd
S5cmd
RCLONE
AWS CLI
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.