Von AWS S3 zu chili migrieren
Dieser Guide bringt Sie in unter 30 Minuten von AWS S3 (oder einem anderen S3-kompatiblen Quellspeicher) zu chili. Sie konfigurieren ein Quell- und ein Ziel-Remote in rclone, kopieren die Objekte mit Prüfsummen-Verifikation, verifizieren das Ergebnis und sichern den Ziel-Bucket optional per Object Lock ab. Das Ergebnis ist eine vollständige, verifizierte Kopie Ihrer Daten in der Schweiz.
Voraussetzungen
- rclone ab Version 1.60 (
rclone version) - Zugang zum Quellspeicher: bei AWS S3 ein Access Key und Secret mit Leserechten auf den Quell-Bucket
- chili-Zugangsschlüssel (Access Key und Secret) aus dem Portal und ein Ziel-Bucket oder die Berechtigung, einen anzulegen
- genügend Bandbreite: die Migration ist ein Client-Side-Transfer (siehe Schritt 3)
1. Quell-Remote (AWS S3) konfigurieren
Legen Sie das Quell-Remote per rclone config an oder tragen Sie es direkt in ~/.config/rclone/rclone.conf ein. Für Amazon S3 setzt rclone den Provider explizit auf AWS (rclone-Dokumentation):
[aws-s3]
type = s3
provider = AWS
access_key_id = AKIA...
secret_access_key = ...
region = eu-central-1region auf die Region des Quell-Buckets setzen.
2. Ziel-Remote (chili) konfigurieren
chili ist ein generischer S3-Provider. Tragen Sie ein separates Remote mit dem chili-Endpoint ein:
[chili]
type = s3
provider = Other
access_key_id = AKIA...
secret_access_key = ...
endpoint = https://<ENDPOINT>Verbindung zu beiden Remotes testen:
rclone lsd aws-s3:
rclone lsd chili:3. Trockenlauf
AWS S3 und chili sind verschiedene Provider mit verschiedenen Endpoints, also verschiedene rclone-Remotes. Damit ist diese Migration ein Client-Side-Transfer: rclone lädt von AWS herunter und lädt zu chili wieder hoch. Eine Server-Side-Copy ist hier nicht möglich, denn die setzt laut rclone-Dokumentation dasselbe Remote für Quelle und Ziel voraus.
Prüfen Sie zuerst mit --dry-run, was übertragen würde, ohne Daten zu bewegen:
rclone copy aws-s3:QUELL-BUCKET chili:ZIEL-BUCKET --dry-run --fast-list4. Migrations-Kopie ausführen
rclone copy überträgt nur neue und geänderte Dateien und löscht am Ziel nie (rclone-Dokumentation). Das macht den Befehl gefahrlos wiederholbar, etwa nach einem Abbruch:
rclone copy aws-s3:QUELL-BUCKET chili:ZIEL-BUCKET \
--checksum --transfers 8 --fast-list --progress --s3-no-check-bucketDie Flags im Detail:
--checksumvergleicht Hash und Grösse statt Zeitstempel und Grösse. Wenn Quelle und Ziel beide S3 sind, ist das laut rclone-Dokumentation der empfohlene Flag für maximale Effizienz.--transfers 8erhöht die Parallelität (Default ist 4, siehe rclone-Flags). Der Wert 8 ist nur ein Beispiel; passen Sie ihn an Bandbreite und Quotas an.--fast-listnutzt rekursive Listings und reduziert so die Anzahl S3-Transaktionen bei grossen Buckets, braucht aber mehr Arbeitsspeicher (rclone-Flags).--progress(-P) zeigt den Fortschritt während der Übertragung (rclone-Flags).--s3-no-check-bucketüberspringt den Bucket-Exists-/Create-Check. Sinnvoll, wenn der Ziel-Bucket bereits existiert oder die Credentials kein CreateBucket können (rclone-Dokumentation).
Soll der Ziel-Bucket die Quelle exakt spiegeln und überzählige Ziel-Objekte löschen, verwenden Sie rclone sync statt copy (rclone-Dokumentation). Setzen Sie das nur ein, wenn das Löschen am Ziel ausdrücklich gewollt ist, und immer erst mit --dry-run.
5. Integrität verifizieren
rclone check vergleicht Quelle und Ziel über Grössen und Hashes (MD5 oder SHA1) und meldet Abweichungen (rclone-Dokumentation):
rclone check aws-s3:QUELL-BUCKET chili:ZIEL-BUCKET --checksumWenn kein gemeinsamer Hash verfügbar ist oder Sie die Daten vollständig prüfen wollen, lädt --download beide Seiten herunter und vergleicht den Inhalt on-the-fly (rclone-Dokumentation):
rclone check aws-s3:QUELL-BUCKET chili:ZIEL-BUCKET --downloadrclone cryptcheck ist nur nötig, wenn das Ziel ein verschlüsseltes crypt-Remote ist (rclone-Dokumentation). Bei einer reinen S3-zu-S3-Migration ohne Crypt-Layer bleiben Sie bei rclone check.
6. Object Lock am Ziel-Bucket (optional)
Object Lock (WORM) wird serverseitig am Bucket gesetzt, nicht vom Client. Legen Sie den Ziel-Bucket mit aktiviertem Object Lock und einer Default-Retention an, bevor Sie migrieren, dann erben alle hochgeladenen Objekte die Sperre automatisch. So bleibt die Kopie auch dann unveränderlich, wenn die schreibende Maschine später kompromittiert wird. Die genaue Region- und Location-Einstellung übernehmen Sie gemäss chili-Portal.
Verifizieren
Zum Abschluss ein Read-/Restore-Test gegen chili. Da chili keine Egress-Gebühren erhebt, kostet dieser Test nichts. Laden Sie ein migriertes Objekt zurück und vergleichen Sie es mit dem Original:
rclone copyto chili:ZIEL-BUCKET/pfad/zu/objekt.dat ./restore-test.dat
rclone check aws-s3:QUELL-BUCKET chili:ZIEL-BUCKET --checksum --one-wayErwartete Ausgabe von rclone check bei vollständiger Migration:
NOTICE: S3 bucket ZIEL-BUCKET: 0 differences found
NOTICE: S3 bucket ZIEL-BUCKET: <N> matching filesWerden 0 Differenzen gemeldet, liegen alle Quell-Objekte bei chili.
Häufige Stolpersteine
- Endpoint-Schreibweise: übernehmen Sie den chili-Endpoint aus dem Portal als vollständige URL, inklusive
https://. Ohne Protokoll oder mit Tippfehler schlägt die TLS-Verbindung fehl. - Falsches Remote für die Verifikation:
cryptchecknur bei crypt-Remotes; sonstcheck. - Server-Side-Copy erwartet: diese Migration läuft client-side. Planen Sie die Übertragungsdauer entsprechend der Bandbreite ein und führen Sie rclone möglichst nahe an einer der beiden Seiten aus.
- Region am Quell-Remote: stimmt die
regiondes AWS-Remotes nicht mit dem Quell-Bucket überein, kann das Listing fehlschlagen. - Chunk- und Cutoff-Grössen: falls Sie
--s3-upload-cutoffoder--s3-chunk-sizeanpassen wollen, prüfen Sie die aktuellen Defaults in den Advanced options der rclone-S3-Dokumentation.
Das Ergebnis: eine vollständige, prüfsummenverifizierte Kopie Ihrer S3-Daten in der Schweiz, in Zürich oder Genf und auf Wunsch georedundant, ohne Egress-Gebühren.