Hochleistungs-Dateiübertragungen zwischen AWS S3 und Cloudflare R2 über externes Rclone auf EC2
Moderne Teams jonglieren oft mit mehreren Object-Storage-Plattformen und stellen schnell fest, dass Bandbreite, Latenz und Egress-Gebühren zu kritischen Hindernissen werden, wenn große Datensätze über einen lokalen Desktop übertragen werden. Wenn Rclone direkt auf einer Cloud-Instanz läuft – und dann über RcloneView gesteuert wird –, wird der starke Datenverkehr in das schnelle Backbone der Cloud verlagert, und Ihr Laptop bleibt außerhalb des Datenpfads.
Die folgende Anleitung übernimmt den Aufbau des Guides „Sync AWS S3 and Google Drive via EC2“ und erweitert ihn auf das S3 ↔ R2-Szenario. Sie werden:
- Rclone als Remote-Control-Daemon (rcd) auf einem AWS-EC2-Server starten.
- Ein separates RcloneView-Fenster öffnen und sich mit diesem externen Rclone verbinden.
- AWS-S3- und Cloudflare-R2-Remotes innerhalb des auf EC2 gehosteten Rclone hinzufügen.
- Übertragungen, Synchronisationen oder geplante Jobs durchführen – vollständig Cloud-zu-Cloud – ohne lokale Bandbreitenbeschränkungen.
Der Datenverkehr innerhalb derselben Availability Zone ist kostenlos, aber Datenverkehr über AZ-Grenzen hinweg und ins Internet verursacht Kosten (typischerweise $0,02/GB AZ-zu-AZ; $0,09/GB ins Internet). Siehe: AWS Pricing – Data Transfer
Warum ein externes Rclone verwenden?
| Lokal eingebettetes Rclone | Externes Rclone auf EC2 |
|---|---|
| Datenpfad: S3 → lokaler PC → R2 — doppelter Hop, gedrosselt durch die Upload-Geschwindigkeit zu Hause. | Datenpfad: S3 → EC2 → R2 — einzelner Hop im Backbone der Cloud, oft 10–25 Gbit/s. |
| ISP-Beschränkungen zu Hause oder asymmetrische Bandbreite verlangsamen große Migrationen. | Deutlich höherer Durchsatz; keine lokalen Beschränkungen. |
| Lokale CPU und lokaler RAM müssen jedes Byte hashen. | Verlagert die CPU-Last auf eine Cloud-VM; Sie können bei Bedarf größere Instanzgrößen wählen. |
| Mögliche NAT-/Firewall-Probleme. | Öffentliche IP mit offenem Port 5572 (oder Tunnel via SSH). |
Teil 1. Rclone auf EC2 bereitstellen (externes Rclone)
- Starten Sie eine Ubuntu-EC2-Instanz (t3.medium oder größer für mehrfädige Uploads).
- Öffnen Sie TCP 5572 in der Security Group (oder verwenden Sie einen SSH-Tunnel).
- Rclone installieren:
curl https://rclone.org/install.sh | sudo bash
- Führen Sie den rcd-Daemon mit Basic Auth aus:
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO
Das Flag --rc-addr stellt HTTP-Endpunkte bereit, die RcloneView aufrufen kann.
- Health-Check von Ihrem Laptop aus:
curl -u admin:admin -X POST "http://<EC2-IP or DNS-NAME>:5572/rc/noop"
Eine JSON-Antwort {} bestätigt, dass der Daemon lauscht.
👉 Mehr erfahren: How to Run Rclone on AWS EC2 Server
Teil 2. Ein neues RcloneView-Fenster öffnen
Um Verbindungen organisiert zu halten, ermöglicht RcloneView jedem Fenster den Betrieb mit einer eigenen Rclone-Engine.
- Starten Sie RcloneView
- Klicken Sie auf die Schaltfläche
New Windowim MenüHome. - Ein neues Anwendungsfenster wird geöffnet. Diese Instanz ist unabhängig vom Hauptfenster und behält einen eigenen Verbindungskontext bei.
📌 _Sie werden dieses Fenster im nächsten Schritt mit Ihrem externen Rclone (EC2) verbinden..
👉 Mehr erfahren: Using Multiple Rclone Connections with New Window.
Teil 3. Mit dem auf EC2 gehosteten Rclone verbinden
Folgen Sie im neu geöffneten Fenster diesen Schritten, um sich mit Ihrem auf EC2 gehosteten externen Rclone zu verbinden:
- Öffnen Sie im neuen Fenster Settings → Connection Manager.
- Klicken Sie auf New Connection und füllen Sie das Formular aus:
| Feld | Wert |
|---|---|
| Display Name | ec2-rclone |
| Remote Address | http://<EC2-IP or DNS-NAME>:5572 |
| Username | admin |
| Password | admin |
- Klicken Sie auf
Test Connection, um die Einrichtung zu überprüfen.
Sie sollten eine erfolgreiche Verbindungsantwort sehen. - Wenn der Test erfolgreich ist, klicken Sie auf
Saveund dann auf **Connect. - Sie sind nun mit Ihrer externen Rclone-Instanz auf EC2 verbunden, und der Verbindungsstatus sollte oben im Fenster angezeigt werden.


Teil 4. AWS-S3- und Cloudflare-R2-Remotes hinzufügen (über externes Rclone)
➕ AWS-S3-Remote hinzufügen
- Gehen Sie zum Tab
Remoteund klicken Sie auf+ New Remote. - Wählen Sie im Tab
ProviderAmazon S3. - Im Tab
Options:- Setzen Sie
provideraufAWS - Geben Sie Ihre Access Key ID und Secret Access Key ein
- Region und Endpoint können auf dem Standardwert belassen werden, sofern keine Anpassung nötig ist
- Setzen Sie
- Klicken Sie auf Save, um die Einrichtung abzuschließen.
👉 Mehr erfahren:
➕ Cloudflare-R2-Remote hinzufügen
- Klicken Sie erneut auf
+ New Remoteim TabRemote. - Wählen Sie im Tab
ProviderS3 (ja, erneut — R2 verwendet das S3-Protokoll). - Im Tab
Options:- Setzen Sie
provideraufCloudflare - Geben Sie Ihren Cloudflare R2 Access Key und Secret Key ein
- Setzen Sie
endpointaufhttps://<accountid>.r2.cloudflarestorage.com
- Setzen Sie
- Klicken Sie auf Save, um die Einrichtung des R2-Remotes abzuschließen.
👉 Mehr erfahren:
Teil 5. Dateien zwischen AWS S3 und Cloudflare R2 synchronisieren
🔁 Methode A: Sync oder Job verwenden
- Wählen Sie im Explorer-Bereich den Cloudflare-R2-Ordner und den AWS-S3-Ordner aus, die Sie synchronisieren möchten.
- Klicken Sie auf die Schaltfläche
Syncim Menühome. - Wählen Sie Sync-Optionen (einseitig oder zweiseitig), sehen Sie sich die Aktionen in der Vorschau an und bestätigen Sie.
- RcloneView führt die Synchronisation aus und zeigt den Fortschritt im Log-Tab
transferan.
- Für wiederholte oder geplante Übertragungen:
- Klicken Sie im Sync-Modal auf
Save to Jobs, oder öffnen SieJob Manager→Add Job. - Konfigurieren Sie Quelle, Ziel und Optionen.
- Speichern und manuell ausführen oder einen Zeitplan festlegen.
- Klicken Sie im Sync-Modal auf
👉 Mehr erfahren:
⏰ Methode B: Einen wiederkehrenden Sync-Job planen
- Wählen Sie im Explorer-Bereich die Ordner Cloudflare R2 und AWS S3 aus, die Sie synchron halten möchten.
- Öffnen Sie
Job Managerüber das MenüHomeoderRemoteund klicken Sie dann aufAdd Job. - Bestätigen Sie Ihre Quelle und Ihr Ziel.
- Verwenden Sie den Zeitplan-Editor, um festzulegen, wann der Job ausgeführt werden soll. Sehen Sie sich Ihren Zeitplan vor dem Speichern in der Vorschau an.
- Speichern und den geplanten Job aktivieren.
RcloneView führt die Synchronisation zu den von Ihnen festgelegten Zeiten aus. Prüfen Sie Ausführungsdetails und Protokolle in Job History und erhalten Sie Benachrichtigungen nach Abschluss.
👉 Mehr erfahren: Job Scheduling and Execution
⚡ Performance-Tuning-Spickzettel
| Parameter | Empfohlener Wert | Wirkungsgrad | Begründung |
|---|---|---|---|
--s3-chunk-size | 50M | ***** | Größere Teile reduzieren Class-A-Operationen auf R2 und verbessern die Geschwindigkeit1. |
--s3-upload-concurrency | 32–64 | *** | Erhöht die Multipart-Threads für R2. |
--transfers | 32–64 | * | Parallele Objekt-Uploads steigern den Durchsatz bei 10-Gbit-Verbindungen1. |
--s3-disable-checksum | Nur hinzufügen, wenn Prüfsummen extern abgeglichen werden | **** | Überspringt den Flaschenhals des Hashings pro Teil — mit Vorsicht verwenden1. |
📈 Ergebnisse aus der Praxis
Um die Leistung bei Cloud-zu-Cloud-Übertragungen zu maximieren, haben wir die Konfiguration des Cloudflare-R2-Remotes wie unten beschrieben optimiert.
RcloneView ist ein GUI-Frontend für Rclone. Die hier geteilten Performance-Tuning-Tipps und Benchmarks basieren auf experimentellen Tests, die von Community-Beiträgen inspiriert wurden ( How to Maximize Multipart Upload Speed to Cloudflare R2), und können je nach Ihrer spezifischen Cloud-Umgebung, Region, Netzwerkbedingungen und Ihrem Anwendungsfall variieren.
Diese Ergebnisse sind nicht garantiert und sollten nur als Referenz dienen.
🔧 So aktualisieren Sie die R2-Remote-Einstellungen
So ändern Sie die Konfiguration des Ziel-R2-Remotes:
- Klicken Sie im Explorer-Bereich auf das Zahnradsymbol neben Ihrem Cloudflare-R2-Remote, oder gehen Sie zu Remote Manager → Edit.
- Klicken Sie im Tab
OptionsaufShow advanced options. - Setzen Sie die folgenden Werte:
chunk_size = 50Miupload_concurrency = 32
- Speichern Sie Ihre Änderungen.
Die Option disable_checksum kann ebenfalls einen erheblichen Einfluss auf die Übertragungsgeschwindigkeit haben. Für diesen Test haben wir sie jedoch auf dem Standardwert (false) belassen, um die Integritätsprüfungen während der Dateiübertragung zu erhalten.
📉 Baseline: Standardleistung
Bei Verwendung der Standardeinstellungen:
- chunk_size = 5Mi
- upload_concurrency = 4.
beobachteten wir Übertragungsgeschwindigkeiten von etwa 114 MB/s beim Verschieben großer Dateien von AWS S3 zu Cloudflare R2 über auf EC2 gehostetes Rclone.
🚀 Nach dem Tuning: 4-fache Leistungssteigerung
Durch Aktualisierung des Cloudflare-R2-Remotes mit optimierten Einstellungen:
- chunk_size = 50Mi
- upload_concurrency = 32
und bei disable_checksum = false erzielten wir Geschwindigkeiten von rund 440 MB/s — eine 4-fache Verbesserung gegenüber dem Standard.
✅ Zusammenfassung
Cloud-zu-Cloud-Übertragungen müssen nicht länger im Schneckentempo über Ihren Laptop laufen. Indem Sie die aufwendige Arbeit an einen externen Rclone-Daemon auf EC2 auslagern, erschließen Sie Migrationsgeschwindigkeiten nahe der Leitungsrate, vermeiden unerwartete AWS-Egress-Kosten und behalten Ihren Workflow vollständig visuell innerhalb von RcloneView. Starten Sie Ihren nächsten S3-↔-R2-Umzug mit Zuversicht — und verabschieden Sie sich von lokalen Engpässen.
🔗 Verwandte Anleitungen
- Speicher-Einrichtung
- EC2 & Remote Rclone
- Fenster- und Verbindungsverwaltung
- Synchronisation und Job-Steuerung
- Kostenüberlegungen
- Leistungsoptimierung