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.
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:
- Poner en marcha Rclone como un daemon de control remoto (rcd) en un servidor AWS EC2.
- Abrir una ventana independiente de RcloneView y conectarte a ese Rclone externo.
- Añadir remotos de AWS S3 y Cloudflare R2 dentro del Rclone alojado en EC2.
- Transferir, sincronizar o programar trabajos—completamente de nube a nube—sin limitaciones de ancho de banda local.
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 integrado | Rclone 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)
- Lanza una instancia EC2 con Ubuntu (t3.medium o superior para subidas multihilo).
- Abre el puerto TCP 5572 en el grupo de seguridad (o usa un túnel SSH).
- Instala Rclone:
curl https://rclone.org/install.sh | sudo bash
- 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.
- 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.
- Abre RcloneView
- Haz clic en el botón
New Windowen el menúHome. - 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:
- En la nueva ventana, abre Settings → Connection Manager.
- Haz clic en New Connection y completa el formulario:
| Campo | Valor |
|---|---|
| Display Name | ec2-rclone |
| Remote Address | http://<EC2-IP or DNS-NAME>:5572 |
| Username | admin |
| Password | admin |
- Haz clic en
Test Connectionpara verificar la configuración.
Deberías ver una respuesta de conexión exitosa. - Si la prueba se supera, haz clic en
Savey luego en **Connect. - 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.


Parte 4. Añadir remotos de AWS S3 y Cloudflare R2 (vía Rclone externo)
➕ Añadir remoto de AWS S3
- Ve a la pestaña
Remotey haz clic en+ New Remote. - En la pestaña
Provider, elige Amazon S3. - En la pestaña
Options:- Establece
providerenAWS - Ingresa tu Access Key ID y Secret Access Key
- La región y el endpoint pueden dejarse por defecto salvo que se personalicen
- Establece
- Haz clic en Save para completar la configuración.
👉 Más información:
➕ Añadir remoto de Cloudflare R2
- De nuevo, haz clic en
+ New Remoteen la pestañaRemote. - En la pestaña
Provider, selecciona S3 (sí, otra vez—R2 usa el protocolo S3). - En la pestaña
Options:- Establece
providerenCloudflare - Ingresa tu Cloudflare R2 Access Key y Secret Key
- Establece
endpointenhttps://<accountid>.r2.cloudflarestorage.com
- Establece
- Haz clic en Save para completar la configuración del remoto R2.
👉 Más información:
Parte 5. Sincronizar archivos entre AWS S3 y Cloudflare R2
🔁 Método A: Usar Sync o Job
- En el panel del Explorer, selecciona la carpeta de Cloudflare R2 y la carpeta de AWS S3 que quieres sincronizar.
- Haz clic en el botón
Syncen el menúhome. - Elige las opciones de sincronización (unidireccional o bidireccional), previsualiza las acciones y confirma.
- RcloneView ejecuta la sincronización y muestra el progreso en la pestaña de registro
transfer.
- Para transferencias repetidas o programadas:
- Haz clic en
Save to Jobsen el modal de Sync, o abreJob Manager→Add Job. - Configura el origen, el destino y las opciones.
- Guarda y ejecuta manualmente o establece una programación.
- Haz clic en
👉 Más información:
⏰ Método B: Programar un trabajo de sincronización recurrente
- En el panel del Explorer, selecciona las carpetas de Cloudflare R2 y AWS S3 que quieres mantener sincronizadas.
- Abre
Job Managerdesde el menúHomeoRemote, y haz clic enAdd Job. - Confirma tu origen y destino.
- Usa el editor de programación para establecer cuándo debe ejecutarse el trabajo. Previsualiza tu programación antes de guardar.
- 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ámetro | Valor recomendado | Nivel de impacto | Justificación |
|---|---|---|---|
--s3-chunk-size | 50M | ***** | Partes más grandes reducen las operaciones de Clase A en R2 y mejoran la velocidad1. |
--s3-upload-concurrency | 32–64 | *** | Aumenta los hilos multiparte para R2. |
--transfers | 32–64 | * | Las subidas de objetos en paralelo aumentan el rendimiento en enlaces de 10 Gbit1. |
--s3-disable-checksum | Añ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.
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:
- En el panel Explorer, haz clic en el icono de engranaje junto a tu remoto de Cloudflare R2, o ve a Remote Manager → Edit.
- En la pestaña
Options, haz clic enShow advanced options. - Establece los siguientes valores:
chunk_size = 50Miupload_concurrency = 32
- 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.
📉 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.
🚀 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 4× respecto al valor predeterminado.
✅ 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
- Configuración de almacenamiento
- EC2 y Rclone remoto
- Gestión de ventanas y conexiones
- Sincronización y control de trabajos
- Consideraciones de costos
- Optimización de rendimiento