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

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:


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.

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.

Vertraut von führenden Unternehmen

  • Keymate
  • SolidProof
  • Rekorder
  • Führerscheinmacher
  • ARGE
  • NextGym
  • Paritel
  • EVADXB
  • Boese VA
  • Maho Management
  • Aphy
  • Negosh
  • Millenium
  • Yonju
  • Mr. Clipart
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.