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 | Cloud-Exit-Check
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: s3cmd und
aws s3kopieren keine Custom Metadata. rclone überträgt Custom Metadata nur mit dem Flag--metadata(-M), ohne das Flag bleiben nur Änderungszeit und Content-Type erhalten (rclone Docs). Hetzner empfiehlt für Custom Metadata den MinIO AIStor 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 (Standardwahl, Custom Metadata mit -M)
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 Custom Metadata nur mit
--metadata(-M), standardmäßig nicht
MinIO Client mc (Alternative bei Custom Metadata)
Stärken:
- Erhält Custom Metadata bei der Migration
mc mirrorist sehr migrationsfreundlich (inkrementell nutzbar)
Schwächen:
- Das Open-Source-Repository
minio/mcist seit dem 14. Juli 2026 archiviert und wird nicht mehr gepflegt (GitHub). Aktuelle Builds stellt MinIO als AIStor Client bereit, der als Drop-in-Ersatz für den bisherigen Client dokumentiert ist (MinIO Docs). - 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? → rclone mit
--metadataoder AIStor Client (mc), Ergebnis im Pilot prüfen - 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
Nutzen Ihre Objekte Custom Metadata, ergänzen Sie --metadata (kurz -M), auch bei den Delta-Läufen.
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
aws s3 und s3cmd kopieren keine Custom Metadata, rclone nur mit --metadata (-M). Wenn Sie Custom Metadata nutzen → rclone mit -M oder AIStor Client (mc) verwenden und das Ergebnis an Stichproben prüfen.
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
Andere Quellen benötigen eigene Zugangsdaten und Funktionsprüfungen: Google Cloud Storage mit rclone migrieren und DigitalOcean Spaces zu Hetzner übertragen.
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
WZ-IT: Spezialisierte AWS Exit Services
Unser dediziertes Label WZ-IT 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.












