Aller au contenu principal

Transferts de fichiers hautes performances entre AWS S3 et Cloudflare R2 via Rclone externe sur EC2

Les équipes modernes jonglent souvent avec plusieurs plateformes de stockage d'objets et découvrent rapidement que la bande passante, la latence et les frais de sortie deviennent des obstacles critiques lorsque de grands jeux de données transitent par un poste de travail local. Exécuter Rclone directement sur une instance cloud — puis le piloter via RcloneView — envoie le trafic important dans le réseau backbone haute vitesse du cloud et garde votre ordinateur portable hors du chemin des données.

transfer files between aws s3 and cloudflare r2 with external rclone

Le tutoriel ci-dessous reprend la structure du guide « Sync AWS S3 and Google Drive via EC2 » et l'étend au scénario S3 ↔ R2. Vous allez :

  1. Démarrer Rclone en tant que daemon de contrôle à distance (rcd) sur un serveur AWS EC2.
  2. Ouvrir une fenêtre RcloneView distincte et vous connecter à ce Rclone externe.
  3. Ajouter des remotes AWS S3 et Cloudflare R2 au sein du Rclone hébergé sur EC2.
  4. Transférer, synchroniser ou planifier des tâches — entièrement de cloud à cloud — sans contrainte de bande passante locale.
Frais de transfert de données AWS

Le trafic intra-région au sein de la même zone de disponibilité est gratuit, mais le trafic inter-AZ et la sortie vers Internet entraînent des coûts (généralement 0,02 $/Go AZ à AZ ; 0,09 $/Go vers Internet). Voir : AWS Pricing – Data Transfer

Pourquoi utiliser un Rclone externe ?

Rclone local intégréRclone externe sur EC2
Chemin du trafic : S3 → PC local → R2 — double saut et limité par les vitesses d'upload de la connexion domestique.Chemin du trafic : S3 → EC2 → R2 — saut unique dans le backbone du cloud, souvent 10-25 Gbit/s.
Les limites du FAI domestique ou une bande passante asymétrique ralentissent les grandes migrations.Débit nettement supérieur ; aucune limite locale.
Le CPU et la RAM locaux doivent hacher chaque octet.Décharge le CPU vers une VM cloud ; vous pouvez choisir des tailles d'instance plus grandes à la demande.
Problèmes NAT/pare-feu possibles.IP publique avec le port 5572 ouvert (ou tunnel via SSH).

Partie 1. Déployer Rclone sur EC2 (Rclone externe)

  1. Lancez une instance EC2 Ubuntu (t3.medium ou plus grande pour les uploads multithread).
  2. Ouvrez le port TCP 5572 dans le groupe de sécurité (ou utilisez un tunnel SSH).
  3. Installez Rclone :
curl https://rclone.org/install.sh | sudo bash
  1. Lancez le daemon rcd avec authentification de base :
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO

Le drapeau --rc-addr expose des endpoints HTTP que RcloneView peut appeler.

  1. Vérification de l'état depuis votre ordinateur portable :
   curl -u admin:admin -X POST "http://<EC2-IP or DNS-NAME>:5572/rc/noop"

Une réponse JSON {} confirme que le daemon écoute bien.

👉 En savoir plus : How to Run Rclone on AWS EC2 Server

Partie 2. Ouvrir une nouvelle fenêtre RcloneView

Pour garder les connexions organisées, RcloneView permet à chaque fenêtre de fonctionner avec son propre moteur Rclone.

  1. Lancez RcloneView
  2. Cliquez sur le bouton New Window dans le menu Home.
  3. Une nouvelle fenêtre d'application s'ouvre. Cette instance est indépendante de la fenêtre principale et conservera son propre contexte de connexion.

📌 Vous connecterez cette fenêtre à votre Rclone externe (EC2) à l'étape suivante...

👉 En savoir plus : Using Multiple Rclone Connections with New Window.

Partie 3. Se connecter au Rclone hébergé sur EC2

Dans la fenêtre nouvellement ouverte, suivez ces étapes pour vous connecter à votre Rclone externe hébergé sur EC2 :

  1. Dans la nouvelle fenêtre, ouvrez Settings → Connection Manager.
  2. Cliquez sur New Connection et remplissez le formulaire :
ChampValeur
Display Nameec2-rclone
Remote Addresshttp://<EC2-IP or DNS-NAME>:5572
Usernameadmin
Passwordadmin
  1. Cliquez sur Test Connection pour vérifier la configuration.
    Vous devriez voir une réponse de connexion réussie.
  2. Si le test réussit, cliquez sur Save, puis Connect.
  3. Vous êtes maintenant connecté à votre instance Rclone externe s'exécutant sur EC2, et le statut de connexion doit apparaître en haut de la fenêtre.
Create EC2 connectionConnected to EC2

Partie 4. Ajouter les remotes AWS S3 et Cloudflare R2 (via Rclone externe)

➕ Ajouter le remote AWS S3

  1. Allez dans l'onglet Remote, et cliquez sur + New Remote.
  2. Dans l'onglet Provider, choisissez Amazon S3.
  3. Dans l'onglet Options :
    • Définissez provider sur AWS
    • Saisissez votre Access Key ID et votre Secret Access Key
    • La région et l'endpoint peuvent rester par défaut, sauf personnalisation
  4. Cliquez sur Save pour terminer la configuration.

👉 En savoir plus :

➕ Ajouter le remote Cloudflare R2

  1. Cliquez à nouveau sur + New Remote dans l'onglet Remote.
  2. Dans l'onglet Provider, sélectionnez S3 (oui, encore — R2 utilise le protocole S3).
  3. Dans l'onglet Options :
    • Définissez provider sur Cloudflare
    • Saisissez votre Cloudflare R2 Access Key et votre Secret Key
    • Définissez endpoint sur https://<accountid>.r2.cloudflarestorage.com
  4. Cliquez sur Save pour terminer la configuration du remote R2.

👉 En savoir plus :

open aws s3 and cloudflare r2 remotes

Partie 5. Synchroniser des fichiers entre AWS S3 et Cloudflare R2

🔁 Méthode A : Utiliser Sync ou Job

  1. Dans le panneau Explorer, sélectionnez le dossier Cloudflare R2 et le dossier AWS S3 que vous souhaitez synchroniser.
  2. Cliquez sur le bouton Sync dans le menu home.
  3. Choisissez les options de synchronisation (unidirectionnelle ou bidirectionnelle), prévisualisez les actions et confirmez.
  4. RcloneView exécute la synchronisation et affiche la progression dans l'onglet de journal transfer.
  • Pour des transferts répétés ou planifiés :
    1. Cliquez sur Save to Jobs dans la fenêtre modale Sync, ou ouvrez Job ManagerAdd Job.
    2. Configurez la source, la destination et les options.
    3. Enregistrez et exécutez manuellement, ou définissez une planification.

👉 En savoir plus :


⏰ Méthode B : Planifier une tâche de synchronisation récurrente

  1. Dans le panneau Explorer, sélectionnez les dossiers Cloudflare R2 et AWS S3 que vous souhaitez maintenir synchronisés.
  2. Ouvrez Job Manager depuis le menu Home ou Remote, puis cliquez sur Add Job.
  3. Confirmez votre source et votre destination.
  4. Utilisez l'éditeur de planification pour définir quand la tâche doit s'exécuter. Prévisualisez votre planification avant d'enregistrer.
  5. Enregistrez et activez la tâche planifiée.

RcloneView exécutera la synchronisation aux horaires que vous avez spécifiés. Consultez les détails d'exécution et les journaux dans Job History et recevez des notifications à la fin de l'exécution.

👉 En savoir plus : Job Scheduling and Execution

⚡ Fiche d'optimisation des performances

ParamètreValeur recommandéeNiveau d'impactJustification
--s3-chunk-size50M*****Des parties plus grandes réduisent les opérations de classe A sur R2 et améliorent la vitesse1.
--s3-upload-concurrency32–64***Augmente les threads multipart pour R2.
--transfers32–64*Les uploads d'objets en parallèle augmentent le débit sur des liaisons 10 Gbit1.
--s3-disable-checksumÀ ajouter uniquement si les
checksums sont réconciliés en externe
****Évite le goulot d'étranglement du hachage par partie — à utiliser avec prudence1.

📈 Résultats réels d'optimisation

Pour maximiser les performances lors des transferts cloud-à-cloud, nous avons affiné la configuration du remote Cloudflare R2 comme décrit ci-dessous.

Résultats expérimentaux uniquement

RcloneView est une interface graphique pour Rclone. Les conseils d'optimisation des performances et les benchmarks partagés ici sont basés sur des tests expérimentaux inspirés de publications communautaires ( How to Maximize Multipart Upload Speed to Cloudflare R2) et peuvent varier selon votre environnement cloud spécifique, votre région, vos conditions réseau et votre cas d'usage.

Ces résultats ne sont pas garantis et doivent être utilisés uniquement à titre de référence.

🔧 Comment mettre à jour les paramètres du remote R2

Pour modifier la configuration du remote R2 cible :

  1. Dans le panneau Explorer, cliquez sur l'icône d'engrenage à côté de votre remote Cloudflare R2, ou allez dans Remote Manager → Edit.
  2. Dans l'onglet Options, cliquez sur Show advanced options.
  3. Définissez les valeurs suivantes :
    • chunk_size = 50Mi
    • upload_concurrency = 32
  4. Enregistrez vos modifications.

L'option disable_checksum peut également avoir un impact significatif sur la vitesse de transfert. Cependant, pour ce test, nous l'avons laissée à sa valeur par défaut (false) afin de préserver les contrôles d'intégrité pendant le transfert de fichiers.

chunk size and upload concurrency settings

📉 Référence : performances par défaut

Avec les paramètres par défaut :

- chunk_size = 5Mi 
- upload_concurrency = 4.

nous avons observé des vitesses de transfert d'environ 114 Mo/s lors du déplacement de grands fichiers d'AWS S3 vers Cloudflare R2 via un Rclone hébergé sur EC2.

transfer speed with default options

🚀 Après optimisation : un gain de performance ×4

En mettant à jour le remote Cloudflare R2 avec des paramètres optimisés :

- chunk_size = 50Mi 
- upload_concurrency = 32

et en conservant disable_checksum = false, nous avons atteint des vitesses d'environ 440 Mo/s — une amélioration de 4× par rapport à la valeur par défaut.

high transfer speed with chunk size and upload concurrency

✅ Résumé

Les transferts cloud-à-cloud n'ont plus besoin de ramper à travers votre ordinateur portable. En déchargeant le gros du travail vers un daemon Rclone externe sur EC2, vous débloquez des vitesses de migration proches du débit de ligne, évitez les surprises liées aux frais de sortie AWS, et gardez votre flux de travail entièrement visuel dans RcloneView. Commencez votre prochain déplacement S3 ↔ R2 en toute confiance — et dites adieu aux goulots d'étranglement locaux.


🔗 Guides associés

Fournisseurs cloud pris en charge

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces