
Einführung in Hetzner Object Storage

Hetzner hat seinen S3-kompatiblen Object Storage gestartet und ergänzt damit seine bestehenden Speicherlösungen. Dieser Guide erklärt den Zweck von S3, Hetzners Angebote, wann S3 sinnvoll ist und wie du mit Hetzner S3 und der Minio CLI loslegen kannst.
Hetzner hat endlich seinen eigenen S3-kompatiblen Object Storage gestartet und ergänzt damit seine bestehenden Block Storage und File Storage Lösungen. Da ich ein großer Fan von Hetzner bin und sogar ein noch größerer Kunde durch meine PaaS-Firma Sliplane, möchte ich dir zeigen, was S3 ist, ob es das richtige Tool für dich ist und wie du damit loslegen kannst!
Am Ende dieses Blog-Posts wirst du gelernt haben:
- Was S3 ist
- Wer genau Hetzner ist
- Wann du S3 verwenden solltest
- Wie du mit S3 loslegen kannst
- Wie du Hetzner S3 mit der Minio CLI nutzt
Los geht's!
Was ist S3 und warum brauche ich es?
S3 steht für Simple Storage Service und war ursprünglich ein Produkt von AWS. AWS S3 war ein riesiger Erfolg, was dazu führte, dass viele Unternehmen konkurrierende Produkte mit den gleichen Schnittstellen anboten, die sogenannten "S3-kompatiblen" Dienste.
Generell gehört S3 zur Kategorie "Object Storage" (die mittlere Spalte). Object Storage ist hochskalierbar, von deinem Computing entkoppelt und bietet eine flache Hierarchie von Objekten (das sind einfach deine Daten + einige Metadaten) in sogenannten Buckets.
S3 ist super für Write-Once-Read-Many (WORM) Anwendungsfälle. Stell dir eine Social-Media-Plattform vor, wo jeder Nutzer ein Profilbild hat. Die meisten User ändern ihr Bild vielleicht einmal im Jahr, aber es wird jedes Mal angezeigt, wenn jemand ein Profil ansieht. Das ist write once, read many!
Es gibt viele solcher Anwendungsfälle: Backups, Bilder, analytische Daten usw. Es ist normalerweise auch günstiger als Block Storage, aber dafür büßt du etwas Performance ein.
Wer genau ist Hetzner?!
Ok, S3 stammt ursprünglich von AWS, aber es gibt S3-kompatible Produkte. Und eines dieser Produkte wurde gerade als Beta-Version von meinem Lieblings-Cloud-Anbieter Hetzner veröffentlicht.
Hetzner ist wahrscheinlich der größte deutsche Cloud-Anbieter, der im letzten Jahr einen verrückten Boom erlebt hat. Sie haben super gute Preise, einen tollen Support (einige mögen anderer Meinung sein
Ich mochte sie so sehr, dass ich beschlossen habe, eine komplette PaaS-Plattform hauptsächlich auf Hetzner-Infrastruktur aufzubauen 👀 💕
Loslegen mit Hetzner S3
Genug Gerede, lass uns anfangen und uns anschauen, wie es funktioniert.
Ich gehe davon aus, dass du bereits einen Hetzner-Account hast (Falls nicht, worauf wartest du?! (Nimm gerne meinen 20 Euro Referral-Link)
Je nachdem, wann du diesen Blog-Post liest, musst du dich vielleicht für die Beta bewerben. Ich wurde ziemlich schnell akzeptiert, ich hoffe, das ist bei dir genauso. Nach der Freischaltung siehst du ein leeres S3-Dashboard:
Du kannst dann einen Bucket erstellen, indem du einfach einen eindeutigen Namen vergibst:
Nach dem Erstellen des Buckets wird er leer sein. Du kannst dann Zugangsdaten erstellen, die du mit der CLI oder einem Programmier-SDK verwenden kannst. Stell sicher, dass du sowohl den Access Key als auch den Secret Key kopierst, du wirst sie später brauchen!
Verwendung der CLI
Minio hat ein sehr nettes CLI-Tool namens mc
, das mit jedem S3-kompatiblen Speicher interagieren kann. Zum Einstieg kannst du es unter macOS mit Homebrew installieren:
brew install minio/stable/mc
Unter Linux kannst du die Binary von der Minio Client Releases Seite herunterladen und ausführbar machen:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
./mc --help
Unter Windows kannst du die ZIP-Datei von der Minio Client Releases Seite herunterladen und in einen Ordner deiner Wahl entpacken. Dann füge die Binary zu deinem PATH hinzu:
mc.exe --help
Wenn das funktioniert, können wir endlich loslegen. Zuerst müssen wir einen Alias mit dem Access Key und Secret Key konfigurieren, die du vorher kopiert hast. Nach dem Einrichten des Alias kannst du mc alias list
ausführen, um zu sehen, ob es funktioniert hat.
mc alias set hetzner https://fsn1.your-objectstorage.com <access_key> <secret_key> --api "s3v4" --path "off"
mc alias list
Gehe nun in einen beliebigen Ordner mit einer Datei, die du hochladen möchtest. In meinem Fall wollte ich eine Datei namens README.md zum Alias hetzner
, in den Bucket sliplane
, mit dem Objektnamen README.md hochladen. Du könntest auch mehr /
in den Pfad einfügen, zum Beispiel: /hetzner/sliplane/README.md
mc cp README.md hetzner/sliplane/README.md
mc ls hetzner/sliplane
mc cat hetzner/sliplane/README.md
Du kannst dann mc ls hetzner/sliplane
ausführen (vergiss nicht, deinen Bucket-Namen zu ändern), um zu sehen, ob die Datei erfolgreich hochgeladen wurde. Du kannst auch den cat-Befehl verwenden, um die Datei auszugeben, natürlich nur, wenn sie lesbar ist :)
Fazit
Ich hoffe wirklich, dass du etwas Neues gelernt hast und begeistert bist, coole Sachen mit S3 zu bauen. Gibt es etwas, das ich noch behandeln soll? Was wirst du mit S3 bauen? Ich würde mich freuen, von dir in den Kommentaren zu hören :)
Cheers,
Jonas, Co-Founder von Sliplane