Loading...
Einführung in Hetzner Object Storage

Einführung in Hetzner Object Storage

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
5 min

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!

Hetzner S3

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.

Speichertypen

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 ) und hören sehr aktiv auf ihre Kunden.

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:

Leeres Dashboard

Du kannst dann einen Bucket erstellen, indem du einfach einen eindeutigen Namen vergibst:

Bucket erstellen

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!

Leerer Bucket

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

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!