Saltar al contenido principal

Transferencias de archivos de alto rendimiento entre AWS S3 y Cloudflare R2 mediante Rclone externo en EC2

Los equipos modernos suelen combinar múltiples plataformas de almacenamiento de objetos y rápidamente descubren que el ancho de banda, la latencia y las tarifas de egreso se convierten en obstáculos críticos cuando conjuntos de datos grandes pasan por un escritorio local. Ejecutar Rclone directamente en una instancia en la nube—y controlarlo después mediante RcloneView—lleva el tráfico pesado a la red troncal de alta velocidad de la nube y mantiene tu portátil fuera de la ruta de datos.

transfer files between aws s3 and cloudflare r2 with external rclone

El siguiente recorrido adapta la estructura de la guía "Sincronizar AWS S3 y Google Drive vía EC2" y la extiende al escenario S3 ↔ R2. Aprenderás a:

  1. Poner en marcha Rclone como un daemon de control remoto (rcd) en un servidor AWS EC2.
  2. Abrir una ventana independiente de RcloneView y conectarte a ese Rclone externo.
  3. Añadir remotos de AWS S3 y Cloudflare R2 dentro del Rclone alojado en EC2.
  4. Transferir, sincronizar o programar trabajos—completamente de nube a nube—sin limitaciones de ancho de banda local.
Tarifas de transferencia de datos de AWS

El tráfico dentro de la misma zona de disponibilidad es gratuito, pero el tráfico entre zonas de disponibilidad (AZ) y el egreso a Internet generan costos (normalmente $0.02/GB entre AZ; $0.09/GB hacia Internet). Consulta: Precios de AWS – Transferencia de datos

¿Por qué usar un Rclone externo?

Rclone local integradoRclone externo en EC2
Ruta del tráfico: S3 → PC local → R2 — doble salto y limitado por la velocidad de subida del hogar.Ruta del tráfico: S3 → EC2 → R2 — un solo salto dentro de la red troncal de la nube, a menudo de 10-25 Gbit/s.
Los límites del ISP doméstico o el ancho de banda asimétrico ralentizan las migraciones grandes.Rendimiento mucho más alto; sin límites locales.
La CPU y RAM locales deben calcular el hash de cada byte.Descarga la CPU a una VM en la nube; puedes elegir tamaños de instancia más grandes bajo demanda.
Posibles problemas de NAT/firewall.IP pública con el puerto 5572 abierto (o túnel vía SSH).

Parte 1. Desplegar Rclone en EC2 (Rclone externo)

  1. Lanza una instancia EC2 con Ubuntu (t3.medium o superior para subidas multihilo).
  2. Abre el puerto TCP 5572 en el grupo de seguridad (o usa un túnel SSH).
  3. Instala Rclone:
curl https://rclone.org/install.sh | sudo bash
  1. Ejecuta el daemon rcd con autenticación básica:
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO

El flag --rc-addr expone endpoints HTTP para que RcloneView los invoque.

  1. Comprueba el estado desde tu portátil:
   curl -u admin:admin -X POST "http://<EC2-IP or DNS-NAME>:5572/rc/noop"

Una respuesta JSON {} confirma que el daemon está escuchando.

👉 Más información: Cómo ejecutar Rclone en un servidor AWS EC2

Parte 2. Abrir una nueva ventana de RcloneView

Para mantener las conexiones organizadas, RcloneView permite que cada ventana funcione con su propio motor Rclone.

  1. Abre RcloneView
  2. Haz clic en el botón New Window en el menú Home.
  3. Se abrirá una nueva ventana de la aplicación. Esta instancia es independiente de la ventana principal y mantendrá su propio contexto de conexión.

📌 _Conectarás esta ventana a tu Rclone externo (EC2) en el siguiente paso..

👉 Más información: Usar múltiples conexiones de Rclone con New Window.

Parte 3. Conectar con el Rclone alojado en EC2

En la ventana recién abierta, sigue estos pasos para conectarte a tu Rclone externo alojado en EC2:

  1. En la nueva ventana, abre Settings → Connection Manager.
  2. Haz clic en New Connection y completa el formulario:
CampoValor
Display Nameec2-rclone
Remote Addresshttp://<EC2-IP or DNS-NAME>:5572
Usernameadmin
Passwordadmin
  1. Haz clic en Test Connection para verificar la configuración.
    Deberías ver una respuesta de conexión exitosa.
  2. Si la prueba se supera, haz clic en Save y luego en **Connect.
  3. Ahora estás conectado a tu instancia de Rclone externo ejecutándose en EC2, y el estado de la conexión debería aparecer en la parte superior de la ventana.
Create EC2 connectionConnected to EC2

Parte 4. Añadir remotos de AWS S3 y Cloudflare R2 (vía Rclone externo)

➕ Añadir remoto de AWS S3

  1. Ve a la pestaña Remote y haz clic en + New Remote.
  2. En la pestaña Provider, elige Amazon S3.
  3. En la pestaña Options:
    • Establece provider en AWS
    • Ingresa tu Access Key ID y Secret Access Key
    • La región y el endpoint pueden dejarse por defecto salvo que se personalicen
  4. Haz clic en Save para completar la configuración.

👉 Más información:

➕ Añadir remoto de Cloudflare R2

  1. De nuevo, haz clic en + New Remote en la pestaña Remote.
  2. En la pestaña Provider, selecciona S3 (sí, otra vez—R2 usa el protocolo S3).
  3. En la pestaña Options:
    • Establece provider en Cloudflare
    • Ingresa tu Cloudflare R2 Access Key y Secret Key
    • Establece endpoint en https://<accountid>.r2.cloudflarestorage.com
  4. Haz clic en Save para completar la configuración del remoto R2.

👉 Más información:

open aws s3 and cloudflare r2 remotes

Parte 5. Sincronizar archivos entre AWS S3 y Cloudflare R2

🔁 Método A: Usar Sync o Job

  1. En el panel del Explorer, selecciona la carpeta de Cloudflare R2 y la carpeta de AWS S3 que quieres sincronizar.
  2. Haz clic en el botón Sync en el menú home.
  3. Elige las opciones de sincronización (unidireccional o bidireccional), previsualiza las acciones y confirma.
  4. RcloneView ejecuta la sincronización y muestra el progreso en la pestaña de registro transfer.
  • Para transferencias repetidas o programadas:
    1. Haz clic en Save to Jobs en el modal de Sync, o abre Job ManagerAdd Job.
    2. Configura el origen, el destino y las opciones.
    3. Guarda y ejecuta manualmente o establece una programación.

👉 Más información:


⏰ Método B: Programar un trabajo de sincronización recurrente

  1. En el panel del Explorer, selecciona las carpetas de Cloudflare R2 y AWS S3 que quieres mantener sincronizadas.
  2. Abre Job Manager desde el menú Home o Remote, y haz clic en Add Job.
  3. Confirma tu origen y destino.
  4. Usa el editor de programación para establecer cuándo debe ejecutarse el trabajo. Previsualiza tu programación antes de guardar.
  5. Guarda y activa el trabajo programado.

RcloneView ejecutará la sincronización en los momentos especificados. Consulta los detalles de ejecución y los registros en Job History y recibe notificaciones al finalizar.

👉 Más información: Programación y ejecución de trabajos

⚡ Hoja de referencia para ajuste de rendimiento

ParámetroValor recomendadoNivel de impactoJustificación
--s3-chunk-size50M*****Partes más grandes reducen las operaciones de Clase A en R2 y mejoran la velocidad1.
--s3-upload-concurrency32–64***Aumenta los hilos multiparte para R2.
--transfers32–64*Las subidas de objetos en paralelo aumentan el rendimiento en enlaces de 10 Gbit1.
--s3-disable-checksumAñadir solo al reconciliar
checksums externamente
****Omite el cuello de botella del hashing por parte—usar con precaución1.

📈 Resultados de ajuste en el mundo real

Para maximizar el rendimiento durante las transferencias de nube a nube, ajustamos la configuración del remoto Cloudflare R2 como se describe a continuación.

Solo resultados experimentales

RcloneView es una interfaz gráfica para Rclone. Los consejos de ajuste de rendimiento y los benchmarks compartidos aquí se basan en pruebas experimentales inspiradas en publicaciones de la comunidad ( Cómo maximizar la velocidad de subida multiparte a Cloudflare R2) y pueden variar según tu entorno de nube específico, región, condiciones de red y caso de uso.

Estos resultados no están garantizados y deben usarse solo como referencia.

🔧 Cómo actualizar la configuración del remoto R2

Para cambiar la configuración del remoto R2 de destino:

  1. En el panel Explorer, haz clic en el icono de engranaje junto a tu remoto de Cloudflare R2, o ve a Remote Manager → Edit.
  2. En la pestaña Options, haz clic en Show advanced options.
  3. Establece los siguientes valores:
    • chunk_size = 50Mi
    • upload_concurrency = 32
  4. Guarda los cambios.

La opción disable_checksum también puede tener un impacto significativo en la velocidad de transferencia. Sin embargo, para esta prueba la dejamos en su valor predeterminado (false) para preservar las comprobaciones de integridad durante la transferencia de archivos.

chunk size and upload concurrency settings

📉 Línea base: rendimiento predeterminado

Al usar la configuración predeterminada:

- chunk_size = 5Mi 
- upload_concurrency = 4.

observamos velocidades de transferencia de aproximadamente 114 MB/s al mover archivos grandes de AWS S3 a Cloudflare R2 mediante Rclone alojado en EC2.

transfer speed with default options

🚀 Después del ajuste: aumento de rendimiento de 4×

Al actualizar el remoto Cloudflare R2 con la configuración optimizada:

- chunk_size = 50Mi 
- upload_concurrency = 32

y manteniendo disable_checksum = false, logramos velocidades de alrededor de 440 MB/s—una mejora de respecto al valor predeterminado.

high transfer speed with chunk size and upload concurrency

✅ Resumen

Las transferencias de nube a nube ya no necesitan arrastrarse a través de tu portátil. Al delegar el trabajo pesado a un daemon Rclone externo en EC2, desbloqueas velocidades de migración cercanas a la velocidad de línea, evitas sorpresas en las tarifas de egreso de AWS y mantienes tu flujo de trabajo completamente visual dentro de RcloneView. Comienza tu próxima migración S3 ↔ R2 con confianza—y despídete de los cuellos de botella locales.


🔗 Guías relacionadas

Proveedores de nube compatibles

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