WZ-IT Logo

AWS S3 zu Hetzner Object Storage migrieren – rclone & MinIO Client Guide

Timo Wevelsiep
Timo Wevelsiep
#AWS #S3 #Hetzner #ObjectStorage #Migration #rclone #MinIO #CloudMigration

Hinweis zum Inhalt: Die Informationen in diesem Artikel wurden nach bestem Wissen zum Zeitpunkt der Veröffentlichung zusammengestellt. Technische Details, Preise, Versionen, Lizenzmodelle und externe Inhalte können sich ändern. Bitte prüfen Sie die genannten Angaben eigenständig, insbesondere vor geschäftskritischen oder sicherheitsrelevanten Entscheidungen. Dieser Artikel ersetzt keine individuelle Fach-, Rechts- oder Steuerberatung.

AWS S3 zu Hetzner Object Storage migrieren – rclone & MinIO Client Guide

AWS S3 zu teuer? Egress-Kosten explodieren? Wir unterstützen Sie bei der kompletten Migration zu Hetzner Object Storage – von der Analyse bis zum Cutover. 👉 Zur AWS-Migration-Übersicht | Kostenlose Analyse anfragen

Bei einer AWS-Migration ist S3 oft der erste große Brocken: viele Daten, viele Requests – und am Ende muss alles stimmen. Hetzner Object Storage ist S3-kompatibel (Docs), sodass bestehende S3-Tools weiterhin funktionieren – nur mit Hetzner-Endpunkten.

Dieser Guide zeigt einen bewährten Ablauf: Initial Copy → Delta Sync → Cutover, inkl. Tool-Vergleich (rclone vs. MinIO Client vs. AWS CLI) und Verifikations-Checks.

Inhaltsverzeichnis


Voraussetzungen und Planung

Vorab-Checkliste

Bevor Sie Kommandos ausführen, klären Sie diese Punkte – sie entscheiden über Tool-Wahl und Cutover-Strategie:

Frage Warum relevant
Bucket-Größe & Objektanzahl TB? Millionen Objekte? Bestimmt Parallelität und Dauer
Änderungsrate Neue/aktualisierte Objekte pro Stunde/Tag? Anzahl Delta-Syncs
Versioning / Object Lock Compliance-Features müssen ggf. nachgebildet werden
Custom Metadata x-amz-meta-* Header? → Tool-Wahl kritisch!

⚠️ Wichtig: rclone, s3cmd und aws s3 kopieren keine Custom Metadata. Wenn Sie eigene Metadata-Header setzen, nutzen Sie MinIO Client (mc) (Hetzner Docs).

Ziel-Region/Endpoint wählen

Hetzner Object Storage bietet regionale Endpoints in der EU:

  • fsn1.your-objectstorage.com (Falkenstein)
  • nbg1.your-objectstorage.com (Nürnberg)
  • hel1.your-objectstorage.com (Helsinki)

Wählen Sie:

  • Nahe an Compute-Workloads (Latenz minimieren)
  • Nahe an Nutzern (bei Public Assets)
  • Nach Compliance-Vorgaben (Datenstandort)

S3-Credentials erstellen

Bei Hetzner erzeugen Sie S3-Zugangsdaten in der Console. Der Secret Key ist nur einmal sichtbar – speichern Sie ihn direkt in Ihrem Secret-Manager (1Password, Vault, KMS), nicht im Klartext-Repo (Hetzner Docs).


Tool-Auswahl: rclone vs. MinIO Client vs. AWS CLI

rclone (empfohlen ohne Custom Metadata)

Stärken:

  • Exzellent für Sync, Delta Sync, Listings und Checks
  • Kann Source/Destination vergleichen ohne Daten zu verändern
  • Ideal für "Initial Copy → Delta → Cutover"

Schwäche:

  • Kopiert keine Custom Metadata

MinIO Client mc (empfohlen mit Custom Metadata)

Stärken:

  • Erhält Custom Metadata bei der Migration
  • mc mirror ist sehr migrationsfreundlich (inkrementell nutzbar)

Schwächen:

  • Bei sehr großen Datenmengen ggf. Feintuning nötig (Retries, Parallelität)

AWS CLI (aws s3 sync)

Einschränkungen:

  • Zwei Profile gleichzeitig nicht möglich – erfordert lokales Zwischenparken (Download aus Quelle, Upload ins Ziel)
  • Kopiert keine Custom Metadata

Faustregel:

  • Metadata egal? → rclone
  • Metadata wichtig? → MinIO mc
  • Schnell & simpel, ohne Metadata? → AWS CLI (aber oft umständlich)

Step-by-Step: Initial Sync → Delta Sync → Cutover

Schritt 1: Ziel-Bucket in Hetzner anlegen

Bucket in der Hetzner Console erstellen (Name, Location wählen).

Public-URL-Format bei Hetzner:

https://<bucket-name>.<location>.your-objectstorage.com/<file-name>

Schritt 2: Dry Run mit Teilmenge

Bevor Sie 5–50 TB anwerfen: Testen Sie mit einem Prefix wie test/ oder assets/2025-….

Option A: rclone

# Remotes vorher konfigurieren (aws + hetzner)
rclone sync aws:mein-bucket/assets/ hetzner:mein-bucket/assets/ \
  --progress --transfers 32 --checkers 32

Option B: MinIO Client

mc mirror --overwrite --remove aws/mein-bucket/assets/ hetzner/mein-bucket/assets/

Schritt 3: Initial Copy (Bulk Sync)

Jetzt migrieren Sie alles (oder die großen Prefixe zuerst).

rclone Bulk Copy:

rclone sync aws:mein-bucket hetzner:mein-bucket \
  --progress --transfers 64 --checkers 64 \
  --fast-list --retries 10 --low-level-retries 20

MinIO Client Bulk Copy:

mc mirror --overwrite aws/mein-bucket hetzner/mein-bucket

Tipp: Bei sehr vielen Objekten hilft --fast-list (rclone), um weniger API-Calls zu verursachen – aber testen Sie das vorher (Memory/Listing-Verhalten).

Schritt 4: Delta Sync (vor Cutover)

Wenn sich Ihr S3-Bucket weiter verändert, machen Sie vor dem Cutover mehrere Delta-Läufe:

  • T-24h: Delta Sync
  • T-1h: Delta Sync
  • T-5min: Finaler Delta Sync nach "Freeze" (wenn möglich)
rclone sync aws:mein-bucket hetzner:mein-bucket \
  --progress --transfers 64 --checkers 64

Schritt 5: Cutover (Applikation umstellen)

Was "Cutover" bedeutet, hängt vom Use Case ab:

Use Case Aktion
Backups/Archiv Producer schreibt künftig nach Hetzner
Static Assets/CDN Origin-URL im CDN ändern
App-Uploads S3-Endpoint + Credentials in der App ändern

Beachten Sie: Die Public-URL enthält die Location im Hostnamen (.<location>.).


Datenintegrität prüfen

1. Listings vergleichen

Vergleichen Sie pro Prefix: Anzahl Objekte, Gesamtgröße.

rclone size aws:mein-bucket
rclone size hetzner:mein-bucket

2. rclone check: Größen + Hashes vergleichen

rclone check vergleicht Size und Hashes (z.B. MD5/SHA1) und schreibt Reports, ohne Daten zu verändern (rclone Docs).

rclone check aws:mein-bucket hetzner:mein-bucket --one-way --progress

⚠️ ETag ≠ MD5 bei Multipart Uploads: Bei Objekten, die als Multipart Upload hochgeladen wurden, ist der ETag kein MD5-Digest (AWS Docs). Verlassen Sie sich nicht blind auf ETag-MD5-Vergleiche.

3. Stichproben für kritische Daten

Für "muss 100% stimmen"-Daten (DB-Dumps, Releases, Rechnungen):

  • Zufällig 100–1.000 Objekte ziehen (verschiedene Größenklassen)
  • Aus beiden Buckets herunterladen und lokal hashen (SHA-256), vergleichen

Häufige Fallstricke

Fallstrick 1: Custom Metadata geht verloren

rclone, aws s3 und s3cmd kopieren keine Custom Metadata. Wenn Sie welche nutzen → MinIO Client verwenden.

Fallstrick 2: Falscher Endpoint

Hetzner-Endpunkte sind locationspezifisch (fsn1/nbg1/hel1). Wenn Sie z.B. fsn1 nutzen, aber der Bucket in nbg1 liegt, sehen Sie "komische" Fehler oder leere Listings.

Fallstrick 3: Public URL funktioniert nicht

Typische Fehler bei Public Buckets:

  • Location fehlt (.<location>.)
  • Object Key falsch encoded (Spaces/UTF-8)

Fallstrick 4: Kosten/Requests falsch eingeschätzt

Bei Hetzner Object Storage:

  • Ingress ist kostenlos
  • S3-Operationen (PUT/GET/DELETE) kostenlos
  • Abrechnung über Base-Price + inkludierte Quota + Pay-as-you-go

Bei extrem vielen Objekten kann das Migrationstempo durch API/Parallelität begrenzt werden, nicht durch Kosten.


Unser Vorgehen bei WZ-IT

Unser Standard-Flow für AWS S3 → Hetzner Object Storage:

  1. Assessment: Bucket-Features (Versioning/Object Lock/Metadata), Größen, Änderungsrate
  2. Pilot: Testprefix migrieren + Validierungs-Checks
  3. Bulk + Delta: Initial Sync + mehrere Delta-Runs
  4. Cutover-Plan: Freeze-Fenster, Endpoint-Umstellung, Rollback-Plan
  5. Monitoring: Fehlerraten, 404s, Latenzen, App-Logs

👉 Wir bauen Ihnen daraus einen konkreten Cutover-Runbook (inkl. Kommandos, Parallelitäts-Tuning, Verifikationsplan).


Weiterführende Guides

Diese Anleitungen könnten Sie ebenfalls interessieren:


OutaCloud: Spezialisierte AWS Exit Services

Unser dediziertes Label OutaCloud bietet umfassende Unterstützung beim AWS-Ausstieg:


Bereit für die Migration? Bei WZ-IT übernehmen wir Analyse, Migration und Betrieb Ihrer Infrastruktur – von AWS zu kosteneffizienten, europäischen Alternativen.

👉 Jetzt kostenlose Kostenanalyse anfragen

Häufig gestellte Fragen

Antworten auf wichtige Fragen zu diesem Thema

Die Dauer hängt von Datenmenge, Objektanzahl, Parallelität und Netzwerkbandbreite ab. Grob: Initial Copy dauert Stunden bis Tage, Delta Syncs Minuten bis Stunden.

Custom Metadata (x-amz-meta-*) geht bei rclone, aws s3 und s3cmd verloren. Wenn Custom Metadata wichtig ist, sollte MinIO Client (mc) verwendet werden.

Hetzner bietet regionale Endpoints: fsn1.your-objectstorage.com (Falkenstein), nbg1.your-objectstorage.com (Nürnberg) und hel1.your-objectstorage.com (Helsinki).

Bei Multipart Uploads ist der ETag nicht der MD5-Digest der gesamten Datei. Verlassen Sie sich daher nicht blind auf ETag-MD5-Vergleiche, sondern nutzen Sie rclone check oder Stichproben-Downloads.

Ingress (Upload) ist kostenlos, S3-Operationen (PUT/GET/DELETE) sind ebenfalls kostenlos. Abgerechnet wird über Base-Price plus inkludierte Quota, Pay-as-you-go bei Überschreitung.

Timo Wevelsiep

Geschrieben von

Timo Wevelsiep

Co-Founder & CEO

Co-Founder von WZ-IT. Spezialisiert auf Cloud-Infrastruktur, Open-Source-Plattformen und Managed Services für KMUs und Enterprise-Kunden weltweit.

LinkedIn

Lassen Sie uns über Ihre Idee sprechen

Ob konkrete IT-Herausforderung oder einfach eine Idee – wir freuen uns auf den Austausch. In einem kurzen Gespräch prüfen wir gemeinsam, ob und wie Ihr Projekt zu WZ-IT passt.

E-Mail
[email protected]

Vertraut von führenden Unternehmen

  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • NextGym
  • Maho Management
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy
  • Negosh
  • ABCO Water
Timo Wevelsiep & Robin Zins - CEOs of WZ-IT

Timo Wevelsiep & Robin Zins

Geschäftsführer

1/3 – Themenauswahl33%

Worum geht es bei Ihrer Anfrage?

Wählen Sie einen oder mehrere Bereiche, bei denen wir Sie unterstützen dürfen.