Beim S3-kompatiblen Object Storage gibt es einige Dinge zu beachten und zu überlegen. Damit alles funktioniert, zeige ich dir hier, wie du deinen Object Storage am besten verwalten kannst.
Über das linke Menü in deinem Tech4Hosting Panel gelangst du in den Object Storage Bereich.
An dieser Stelle verwaltest du Access Keys für den Zugriff auf deinen Cloud Object Storage und deine Buckets. Es ist möglich Buckets direkt über das Interface zu verwalten, alle notwendigen Basisfunktionen stehen im Interface bereit. Diese Funktionen sind ausreichend und bieten sich für die Verwaltung von Templates und Buckets mit geringem Umfang an.
Für größtmögliche Flexibilität und bei umfangreichen Buckets empfehlen wir dir jedoch den Einsatz von einem S3 Tool. Cyberduck (Mac, Windows) und S3cmd (Linux, Mac) sind Tools mit denen ich gute Erfahrungen gemacht habe. In den nachfolgenden Abschnitten stelle ich dir beide Tools kurz vor und zeige dir, wie du eine Verbindung zum Tech4Hosting Object Storage aufbaust.
Generell gilt, das der Tech4Hosting Object Storage mit allen gängigen S3 Tools und Anwendungen die dir eine S3 Anbindung ermöglichen kompatibel ist.
Folgende Parameter:
Tech4Hosting Endpunkt gos3.io + Key und Secret
werden dafür immer gebraucht.
Cyberduck
Cyberduck ist ein Libre Server & Cloud Storage Browser mit grafischer Benutzeroberfläche und einfach zu bedienendem Interface. Cyberduck ist für Mac und Windows verfügbar, du kannst das Programm unter https://cyberduck.io/ herunterladen. Cyberduck eignet sich sehr gut für die einfache Verwaltung deines Object Storage.
Cyberduck Anwendung
Das Herstellen einer neuen Verbindung ist ziemlich einfach. Öffne Cyberduck und klicke auf “Open Connection”. In dem Fenster für die neue Connection wählst du anschließend Amazon S3 aus, fügst unter Server den Endpunkt “gos3.io” ein und überträgst deinen Access Key + Secret.
Nach dem Herstellen der Verbindung kannst du bequem durch deine Buckets browsen. Du kannst Files uploaden / downloaden, Pfade synchronisieren, Buckets durchsuchen und vieles mehr. Cyberduck bietet viele Funktionen und eine gute Usability, erforsche das Programm einfach ein bisschen und du wirst dich schnell zurechtfinden. Neue Features werden im Blog vorgestellt.
s3cmd
s3cmd ist ein freies Command-Line-Tool ohne grafische Benutzeroberfläche und für Linux und Mac verfügbar. s3cmd benötigt Python 2.6 oder neuer für die Installation, in Version 2.x ist es auch mit Python 3.x kompatibel.
s3cmd lässt sich per RPM Package, PIP und Homebrew installieren.
Hast du Homebrew bereits installiert, ist die Installation hierüber wohl am schnellsten erledigt.
brew install s3cmd
s3cmd konfigurieren
An dieser Stelle zeige ich dir, wie du s3cmd konfigurieren musst, um eine Verbindung zum Object Storage herzustellen.
Nach der Installation kannst du im Terminal mit dem Befehl
s3cmd --configure
einen neue Default-Konfiguration anlegen.
Für den Fall, dass du mehrere Konfigurationen anlegen willst, kannst du die Config-Datei auch in eine separate Datei schreiben.
s3cmd --configure --config=gos3cfg
Der obenstehende Befehl legt eine Config-Datei mit dem Namen gos3cfg an.
Nach Ausführen einer der beiden Befehle fragt dich s3cmd interaktiv einige Einstellungsparameter ab.
Gib an diesem Punkt folgende Parameter an, damit die Verbindung zum Tech4Hosting Object Storage funktioniert:
Access Key: Dein Key
Secret Key: Dein Secret
Default Region: GER
S3 Endpoint: gos3.io
DNS-style bucket+hostname:port … : %(bucket)s.gos3.io
Bei allen anderen Punkten kannst du die Default-Vorgaben einfach mit Enter bestätigen.
Danach nur noch „Save settings?“ mit y bestätigen.
s3cmd Anwendung
s3cmd bietet dir mit seinem großen Funktionsumfang viele Möglichkeiten.
Mit
s3cmd --help
werden Beispiele für alle Kommandos angezeigt:
Commands:
Make bucket
s3cmd mb s3://BUCKET
Remove bucket
s3cmd rb s3://BUCKET
List objects or buckets
s3cmd ls [s3://BUCKET[/PREFIX]]
List all object in all buckets
s3cmd la
Put file into bucket
s3cmd put FILE [FILE...] s3://BUCKET[/PREFIX]
Get file from bucket
s3cmd get s3://BUCKET/OBJECT LOCAL_FILE
Delete file from bucket
s3cmd del s3://BUCKET/OBJECT
Delete file from bucket (alias for del)
s3cmd rm s3://BUCKET/OBJECT
Restore file from Glacier storage
s3cmd restore s3://BUCKET/OBJECT
Synchronize a directory tree to S3 (checks files freshness using size and md5 checksum, unless overridden by options, see below)
s3cmd sync LOCAL_DIR s3://BUCKET[/PREFIX] or s3://BUCKET[/PREFIX] LOCAL_DIR
Disk usage by buckets
s3cmd du [s3://BUCKET[/PREFIX]]
Get various information about Buckets or Files
s3cmd info s3://BUCKET[/OBJECT]
Copy object
s3cmd cp s3://BUCKET1/OBJECT1 s3://BUCKET2[/OBJECT2]
Modify object metadata
s3cmd modify s3://BUCKET1/OBJECT
Move object
s3cmd mv s3://BUCKET1/OBJECT1 s3://BUCKET2[/OBJECT2]
Modify Access control list for Bucket or Files
s3cmd setacl s3://BUCKET[/OBJECT]
Modify Bucket Policy
s3cmd setpolicy FILE s3://BUCKET
Delete Bucket Policy
s3cmd delpolicy s3://BUCKET
Modify Bucket CORS
s3cmd setcors FILE s3://BUCKET
Delete Bucket CORS
s3cmd delcors s3://BUCKET
Modify Bucket Requester Pays policy
s3cmd payer s3://BUCKET
Show multipart uploads
s3cmd multipart s3://BUCKET [Id]
Abort a multipart upload
s3cmd abortmp s3://BUCKET/OBJECT Id
List parts of a multipart upload
s3cmd listmp s3://BUCKET/OBJECT Id
Enable/disable bucket access logging
s3cmd accesslog s3://BUCKET
Sign arbitrary string using the secret key
s3cmd sign STRING-TO-SIGN
Sign an S3 URL to provide limited public access with expiry
s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
Fix invalid file names in a bucket
s3cmd fixbucket s3://BUCKET[/PREFIX]
Create Website from bucket
s3cmd ws-create s3://BUCKET
Delete Website
s3cmd ws-delete s3://BUCKET
Info about Website
s3cmd ws-info s3://BUCKET
Set or delete expiration rule for the bucket
s3cmd expire s3://BUCKET
Upload a lifecycle policy for the bucket
s3cmd setlifecycle FILE s3://BUCKET
Get a lifecycle policy for the bucket
s3cmd getlifecycle s3://BUCKET
Remove a lifecycle policy for the bucket
s3cmd dellifecycle s3://BUCKET
List CloudFront distribution points
s3cmd cflist
Display CloudFront distribution point parameters
s3cmd cfinfo [cf://DIST_ID]
Create CloudFront distribution point
s3cmd cfcreate s3://BUCKET
Delete CloudFront distribution point
s3cmd cfdelete cf://DIST_ID
Change CloudFront distribution point parameters
s3cmd cfmodify cf://DIST_ID
Display CloudFront invalidation request(s) status
s3cmd cfinvalinfo cf://DIST_ID[/INVAL_ID]