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

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 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
- Tool-Auswahl: rclone vs. MinIO Client vs. AWS CLI
- Step-by-Step: Initial Sync → Delta Sync → Cutover
- Datenintegrität prüfen
- Häufige Fallstricke
- Unser Vorgehen bei WZ-IT
- Weiterführende Guides
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 s3kopieren 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 mirrorist 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:
- Assessment: Bucket-Features (Versioning/Object Lock/Metadata), Größen, Änderungsrate
- Pilot: Testprefix migrieren + Validierungs-Checks
- Bulk + Delta: Initial Sync + mehrere Delta-Runs
- Cutover-Plan: Freeze-Fenster, Endpoint-Umstellung, Rollback-Plan
- 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:
- AWS RDS/Aurora PostgreSQL zu Hetzner migrieren – pg_dump/restore Guide
- AWS zu Hetzner Migration – Komplettübersicht – Alle AWS-Services im Überblick
- Cloud-Migration Hub – Alle Provider-Migrationen im Überblick
- Cloud-Kosten sparen: AWS EC2 & RDS – Bis zu 90% Ersparnis
- Hetzner Cloud Volumes einrichten – Block Storage für Ihre Workloads
- Hetzner Expertise – Unsere Hetzner-Services im Überblick
OutaCloud: Spezialisierte AWS Exit Services
Unser dediziertes Label OutaCloud bietet umfassende Unterstützung beim AWS-Ausstieg:
- AWS Exit Hub – Alle Informationen und Services zum AWS-Ausstieg
- AWS zu Hetzner Migration – Professionelle Migrationsbegleitung
- Cloud-Kostenrechner – Berechnen Sie Ihr Einsparpotenzial
Bereit für die Migration? Bei WZ-IT übernehmen wir Analyse, Migration und Betrieb Ihrer Infrastruktur – von AWS zu kosteneffizienten, europäischen Alternativen.
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.

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.
LinkedInLassen 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.


Timo Wevelsiep & Robin Zins
Geschäftsführer




