Allgemein

Last change on 2025-01-09 • Created on 2024-09-23 • ID: ST-EE9D8

Was ist Hetzner Cloud Object Storage?

Mit unserem S3-kompatiblen Object Storage ist es möglich, Daten in einer geschlossenen Umgebung namens "Buckets" zu speichern. Für jeden Bucket kann die Sichtbarkeit individuell festgelegt werden.

Object Storage
Bucket A
  • Textdatei 1
  • Textdatei 2
  • Bucket B
  • Bilddatei
  • Videodatei
  • Bucket C
  • Textdatei
  • Musikdatei

  • Technischer Hintergrund:

    Daten (z.B. Textdokumente oder Bilddateien) werden als Objekte gespeichert. Jedes Objekt besitzt die folgenden Informationen:

    • Objekt-Schlüssel (eindeutige Identifikation des Objekts)
    • Daten (z.B. Bild oder Textdokument)
    • System-Metadaten (z.B. Dateityp, Dateigröße)
    • Benutzerdefinierte Metadaten (Schlüssel-Wert-Paare, die beim Hochladen des Objekts festgelegt werden und beliebige Zusatzinformationen speichern)
    • Attribute (z.B. welche Benutzer (Keys) dürfen das Objekt herunterladen oder löschen)

    Das Objekt wird als Ganzes (einschließlich seiner dazugehörigen Daten, Metadaten und Attribute) unter seinem eindeutigen Schlüssel (Namen) auf der Festplatte gespeichert.

    Festplatte
    Objekt-Schlüssel
    ATTRIBUTE
    METADATEN
    DATEN
    Freier Speicherplatz
    Objekt-Schlüssel
    ATTRIBUTE
    METADATEN
    DATEN

    Was ist der Unterschied zwischen Buckets (Object Storage) und Cloud Volumes (Block Storage)?

    Allgemeine Unterschiede:

    Buckets Cloud Volumes
    Buckets bieten Speicherplatz als ein eigenständiges Feature, das unabhängig von unseren weiteren Cloud Ressourcen genutzt werden kann. Cloud Volumes werden genutzt, um den Speicherplatz von Cloud Servern zu erweitern.
    Die Daten sind direkt über die API verfügbar oder, wenn der Bucket öffentlich sichtbar ist, über eine URL im Webbrowser. Auf ein Cloud Volume kann man nur zugreifen, indem man dieses in einen Server einhängt und über den Server darauf zugreift.
    Da auf die Daten über das Internet zugegriffen wird, entsteht zwangsläufig eine gewisse Latenz, weshalb sich Buckets vor allem für Backups, Datenbankdumps oder Logs eignen. Da das Volume direkt im Server eingehängt wird, existiert so gut wie keine Latenz, weshalb sich Volumes vor allem für Echtzeit-Datenbanken und Anwendungen mit hoher Latenzempfindlichkeit eignen.
    Der Speicherplatz ist auf keine bestimmte Größe beschränkt, weshalb Daten nach belieben hochgeladen oder gelöscht werden können. Object Storage bietet somit viel Flexibilität. Wenn man nachträglich mehr Speicherplatz benötigt, muss das Volume nachträglich vergrößert und neu formatiert werden, was recht aufwendig sein kann.
    Hauptzweck: Write once, read many (WORM) Hauptzweck: Daten nach Bedarf bearbeiten, verschieben oder löschen.
    Objekte sind unveränderlich. Das heißt, es ist nicht möglich Objekte zu bearbeiten. Um eine Datei zu "aktualisieren", muss die neue Version hochgeladen werden. Dadurch wird ein neues Objekt erstellt und das alte Objekt automatisch gelöscht. Bestehende Dateien können geöffnet und mit einem Texteditor wie nano oder vi direkt bearbeitet werden.
    In einem Bucket können nur einzelne Dateien gespeichert werden. Ordner oder Unterordner sind nicht verfügbar. Um eine hierarchische Struktur darzustellen, muss man die Dateien entsprechend benennen, z. B. Musik/Beispiel.mp3. Daten können je nach Bedarf innerhalb verschiedener Ordner und Unterordner gespeichert werden.

    Technische Unterschiede:

    • Mit Object Storage werden die Daten als ein gesamtes Objekt gespeichert. Es ist nicht möglich, das Objekt anschließend zu bearbeiten. Bei Änderungen wird ein neues Objekt erstellt.
    • Mit Block Storage werden die Daten in mehrere Blöcke geteilt, die separat gespeichert werden. Wenn man auf die Daten zugreift, werden diese zunächst wieder "zusammengesetzt". Wenn man die Daten bearbeitet, werden die betroffenen Blöcke im Dateisystem aktualisiert.

    Wird Object Storage ausschließlich über die Hetzner S3 API verwaltet?

    Folgende Aktionen werden über unsere Cloud Console ausgeführt und NICHT über die S3 API:

    • S3-Zugangsdaten erstellen
    • Schutz Label zu einem Bucket hinzufügen

    Für alles andere, also alles Bucket- oder Objekt-bezogene, muss die Hetzner S3 API genutzt werden.

    Ist Object Storage an allen Cloud-Standorten verfügbar?

    Nein, Object Storage ist aktuell nur in unseren Standorten innerhalb Europas verfügbar, also:

    • Nürnberg
    • Falkenstein
    • Helsinki

    Welchen Standort haben meine Daten?

    Die gesamten Daten eines Buckets werden in dem von Ihnen ausgewählten Standort gespeichert. In diesem Standort werden die Daten eines Buckets innerhalb desselben Datacenters gespeichert. Die Strom- und Netzwerkinfrastruktur ist mit eingebauter Redundanz für hohe Verfügbarkeit ausgelegt.

    Welche Art von Redundanz bietet Object Storage? Wie widerstandsfähig ist das Produkt gegenüber Ausfällen?

    Jedes hochgeladene Datenobjekt wird in Segmente aufgeteilt, die auf mehrere Server innerhalb des Clusters verteilt werden. Mithilfe von Erasure Coding kann das System die Datenintegrität selbst dann gewährleisten, wenn bis zu drei Speicherserver ausfallen.

    Wie immer kann jedes unserer Produkte nur ein Teil einer sicheren Backup-Strategie sein.

    Führen Sie irgendeine Art von Verschlüsselung durch? Wie sicher sind meine Daten?

    Eine automatische Data-at-Rest-Verschlüsselung von Objekten ist nicht verfügbar. Sie können Ihre Daten beim Hochladen mittels SSE-C verschlüsseln. Dies wird im How-To "Daten mit SSE-C verschlüsseln" erklärt. Ausgetauschte Festplatten werden vor Ort physisch zerstört und verlassen unsere Standorte nie in einer Form, die eine Rekonstruktion der Daten ermöglichen würde.

    Warum aktualisieren sich die Daten in der Cloud Console bezüglich der Gesamtdateizahl und Gesamtgröße nicht sofort nach Änderungen?

    Diese Daten werden nicht in Echtzeit abgerufen, daher kann es 15-20 Minuten dauern bis sich diese aktualisieren.

    Warum sind die Gesamtdateizahl und Gesamtgröße in der Bucket-Übersicht höher als was in der Objekt-Übersicht gelistet wird?

    Die Gesamtdateizahl beinhaltet alle Objekte, die Speicher verbrauchen. Es gibt zwei Sonderfälle, die Speicher verbrauchen, in der Objekt-Übersicht allerdings nicht gelistet werden:

    • Alte Versionen eines Objektes

    • Objekte aus einem mehrteiligen Upload (siehe Amazon S3 Dokumentation), der entweder noch nicht abgeschlossen ist oder abgebrochen wurde

      Übriggebliebene Objekte von abgebrochenen mehrteiligen Uploads können über Lifecycle-Policies automatisch gelöscht werden (siehe diesen FAQ-Eintrag).

    Wenn Sie den Verdacht haben, dass die Gesamtdateizahl zu hoch ist, empfehlen wir zu prüfen, ob Ihr Bucket eventuell solche "unsichtbaren Objekte" enthält.

    # Alle Versionen listen
    mc ls --versions <alias_name>/<bucket_name>
    aws s3api list-object-versions --bucket <bucket_name>
    
    # Laufende oder abgebrochene mehrteilige Uploads listen
    mc ls --incomplete <alias_name>/<bucket_name>
    aws s3api list-multipart-uploads --bucket <bucket_name>

    Die Gesamtgröße fasst den insgesamt genutzten Speicher zusammen. Das beinhaltet:

    • Alle sichtbaren Objekte
    • Alle "unsichtbaren" Objekte

    Die Abrechnung erfolgt auf Basis der Gesamtgröße. Beachten Sie, dass bei der Abrechnung auch Metadaten berücksichtigt werden, da diese ebenfalls Speicherplatz verbrauchen.

    Welche Konfigurations- und Sicherheitsfeature werden aktuell unterstützt?

    Feature Unterstützt
    AWS Signature version
  • Version 4 algorithm
  • Storage classes
  • Standard
  • Server-Side Encryption (SSE)
  • SSE-C (siehe dieses How-To)
  • Welche TLS-Protokolle und Cipher Suites werden von der API unterstützt?

    Protokolle Cipher Suites
    TLS 1.3
    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
    • TLS_CHACHA20_POLY1305_SHA256
    TLS 1.2
    (Support wird bald eingestellt*)
    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

    *TLS Version 1.2 ist veraltet und wir werden die Unterstützung dafür in naher Zukunft einstellen. Bitte stellen Sie Ihre Anwendungen so bald wie möglich auf TLS Version 1.3 um.

    Werden Open-Source-Projekte, die Hetzner Object Storage unterstützen, durch Credits oder auf andere Weise gewürdigt?

    Ja! Wir schätzen jeden Beitrag und finden es wichtig, dass möglichst viele von bereits entwickelten Lösungen profitieren können. Aus diesem Grund finden Sie hier eine Liste an Bibliotheken von verschiedenen Entwicklern: developers.hetzner.com/cloud

    Wenn Sie an einem Open-Source-Projekt arbeiten, das unseren S3-kompatiblen Object Storage unterstützt oder künftig unterstützen soll, könnten Sie Anspruch auf einen einmaligen Credit von bis zu 50 € bekommen. Kontaktieren Sie uns über die Support-Seite in der Cloud Console und teilen Sie uns Folgendes mit:

    • Den Namen des Projekts, an dem Sie arbeiten
    • Eine kurze Beschreibung des Projekts
    • Link zur Projekt-Website oder dem Repository, wo das Projekt gehostet wird
    • Zugehörigkeit zu / Rolle im Projekt (z. B. Maintainer des Projeks)
    • Link zu bisherigen Open-Source-Projekten von Ihnen (falls vorhanden)

    Wo kann ich eine Support-Anfrage stellen?

    Zu Themen, die sich direkt auf unser Object Storage Produkt beziehen, können Sie Support-Anfragen über die Cloud Console erstellen. Beachten Sie, dass wir für das Konfigurieren einzelner Anwendungen keinen Support bieten. Wenn Sie einen Fehler oder ein Problem bezüglich unseres Produkts melden möchten, geben Sie bitte folgende Informationen an, damit wir das Problem bestmöglich prüfen können:

    • Für Probleme in der Cloud Console: ein Screenshot der entsprechenden Seite.
    • Für Probleme mit Anwendungen oder CLI-Tools wie s3cmd, mc, usw.: einen Auszug aus der Debug-Ausgabe mit relevanten Fehlermeldungen, evtl. Logdateieinträge, die uns helfen könnten, den Fehler einzugrenzen.
    • Bei Problemen mit bestimmten Buckets: die Bucket-ID (nicht den Namen!) — diese finden Sie in der URL der Cloud Console: wählen Sie innerhalb Ihres Projektes "Object Storage" aus und klicken Sie anschließend auf den Namen Ihres Buckets, um den Bucket-Überblick zu öffnen. Die URL in der Adressleiste des Browsers enthält die Bucket-ID:
      https://console.hetzner.cloud/projects/<project-id>/buckets/<bucket-id>/overview
    • Zur Meldung von Bandbreiten- oder Latenzproblemen: die Ausgabe von mtr oder traceroute vom S3-Client, um die Routen des IP-Verkehrs zum Object Store zu visualisieren. Sie können auch versuchen, die Download-Geschwindigkeit mit Tools wie curl oder wget zu messen, indem Sie eine der Testdateien herunterladen, die auf https://fsn1-speed.hetzner.com/ gehostet werden.
    • Für Test-API-Anfragen, die das Problem reproduzieren: Logeinträge mit Zeitstempel (einschließlich Zeitzone), Quell-IP, vollständiger Anfrage-URI, HTTP-Statuscode und - falls verfügbar - die Antwortzeit.

    Wo kann ich allgemeine Fragen diskutieren?

    Allgemeine Fragen und Themen, die sich auf unser Object Storage beziehen, können Sie in diesem Forum diskutieren:

    Bitte teilen Sie keine persönlichen Daten. Wenn Sie einen Screenshot teilen, anonymisieren Sie persönliche Daten wie Ihre Kundennummer bitte bevor Sie den Screenshot posten.

    Posten Sie aus Sicherheitsgründen niemals Ihren Access Key oder Secret Key!

    Table of Contents