Lewati ke konten utama

Transfer File Berkinerja Tinggi Antara AWS S3 dan Cloudflare R2 melalui Rclone Eksternal di EC2

Tim modern sering kali mengelola beberapa platform penyimpanan objek sekaligus dan segera menyadari bahwa bandwidth, latensi, dan biaya egress menjadi hambatan kritis ketika dataset besar melewati desktop lokal. Menjalankan Rclone langsung pada instans cloud—lalu mengendalikannya melalui RcloneView—mendorong lalu lintas berat ke dalam backbone berkecepatan tinggi milik cloud dan menjaga laptop Anda tetap keluar dari jalur data.

transfer files between aws s3 and cloudflare r2 with external rclone

Panduan di bawah ini mengadaptasi struktur panduan "Sync AWS S3 and Google Drive via EC2" dan memperluasnya ke skenario S3 ↔ R2. Anda akan:

  1. Menjalankan Rclone sebagai daemon remote-control (rcd) pada server AWS EC2.
  2. Membuka jendela RcloneView terpisah dan menyambungkannya ke Rclone eksternal tersebut.
  3. Menambahkan remote AWS S3 dan Cloudflare R2 di dalam Rclone yang di-hosting di EC2.
  4. Melakukan transfer, sinkronisasi, atau menjadwalkan job—sepenuhnya cloud-to-cloud—tanpa batasan bandwidth lokal.
Biaya Transfer Data AWS

Lalu lintas intra-region dalam Availability Zone yang sama gratis, tetapi lalu lintas antar-AZ dan egress Internet dikenakan biaya (umumnya $0.02/GB AZ-ke-AZ; $0.09/GB ke Internet). Lihat: AWS Pricing – Data Transfer

Mengapa Menggunakan Rclone Eksternal?

Rclone Lokal (Embedded)Rclone Eksternal di EC2
Jalur lalu lintas: S3 → PC lokal → R2 — dua hop dan dibatasi oleh kecepatan upload rumah.Jalur lalu lintas: S3 → EC2 → R2 — satu hop di dalam backbone cloud, sering kali 10-25 Gbit/s.
Batasan ISP rumah atau bandwidth asimetris memperlambat migrasi besar.Throughput jauh lebih tinggi; tanpa batasan lokal.
CPU dan RAM lokal harus melakukan hashing setiap byte.Membebankan CPU ke VM cloud; Anda bisa memilih ukuran instans lebih besar sesuai kebutuhan.
Kemungkinan masalah NAT/firewall.IP publik dengan port 5572 terbuka (atau tunnel melalui SSH).

Bagian 1. Menjalankan Rclone di EC2 (Rclone Eksternal)

  1. Luncurkan instans EC2 Ubuntu (t3.medium atau lebih besar untuk upload multi-thread).
  2. Buka TCP 5572 di Security Group (atau gunakan tunnel SSH).
  3. Instal Rclone:
curl https://rclone.org/install.sh | sudo bash
  1. Jalankan daemon rcd dengan basic auth:
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO

Flag --rc-addr mengekspos endpoint HTTP agar dapat dipanggil oleh RcloneView.

  1. Health-check dari laptop Anda:
   curl -u admin:admin -X POST "http://<EC2-IP or DNS-NAME>:5572/rc/noop"

Respons JSON {} mengonfirmasi bahwa daemon sedang berjalan (listening).

👉 Pelajari lebih lanjut: How to Run Rclone on AWS EC2 Server

Bagian 2. Membuka Jendela RcloneView Baru

Untuk menjaga koneksi tetap terorganisir, RcloneView memungkinkan setiap jendela beroperasi dengan engine Rclone-nya sendiri.

  1. Jalankan RcloneView
  2. Klik tombol New Window dari menu Home.
  3. Sebuah jendela aplikasi baru akan terbuka. Instans ini independen dari jendela utama dan akan mempertahankan konteks koneksinya sendiri.

📌 Anda akan menyambungkan jendela ini ke Rclone Eksternal (EC2) Anda pada langkah berikutnya.

👉 Pelajari lebih lanjut: Using Multiple Rclone Connections with New Window.

Bagian 3. Menyambung ke Rclone yang Di-hosting di EC2

Pada jendela yang baru dibuka, ikuti langkah-langkah berikut untuk menyambung ke Rclone Eksternal yang di-hosting di EC2:

  1. Di jendela baru, buka Settings → Connection Manager.
  2. Klik New Connection dan isi formulir:
FieldValue
Display Nameec2-rclone
Remote Addresshttp://<EC2-IP or DNS-NAME>:5572
Usernameadmin
Passwordadmin
  1. Klik Test Connection untuk memverifikasi pengaturan.
    Anda akan melihat respons koneksi berhasil.
  2. Jika pengujian berhasil, klik Save, lalu Connect.
  3. Anda kini tersambung ke instans Rclone Eksternal yang berjalan di EC2, dan status koneksi akan muncul di bagian atas jendela.
Create EC2 connectionConnected to EC2

Bagian 4. Menambahkan Remote AWS S3 & Cloudflare R2 (melalui Rclone Eksternal)

➕ Menambahkan Remote AWS S3

  1. Buka tab Remote, lalu klik + New Remote.
  2. Pada tab Provider, pilih Amazon S3.
  3. Pada tab Options:
    • Atur provider ke AWS
    • Masukkan Access Key ID dan Secret Access Key Anda
    • Region dan endpoint dapat dibiarkan default kecuali ingin disesuaikan
  4. Klik Save untuk menyelesaikan pengaturan.

👉 Pelajari lebih lanjut:

➕ Menambahkan Remote Cloudflare R2

  1. Sekali lagi, klik + New Remote pada tab Remote.
  2. Pada tab Provider, pilih S3 (ya, lagi—R2 menggunakan protokol S3).
  3. Pada tab Options:
    • Atur provider ke Cloudflare
    • Masukkan Cloudflare R2 Access Key dan Secret Key Anda
    • Atur endpoint ke https://<accountid>.r2.cloudflarestorage.com
  4. Klik Save untuk menyelesaikan pengaturan remote R2.

👉 Pelajari lebih lanjut:

open aws s3 and cloudflare r2 remotes

Bagian 5. Sinkronisasi File Antara AWS S3 dan Cloudflare R2

🔁 Metode A: Menggunakan Sync atau Job

  1. Pada panel Explorer, pilih folder Cloudflare R2 dan folder AWS S3 yang ingin Anda sinkronkan.
  2. Klik tombol Sync pada menu home.
  3. Pilih opsi sinkronisasi (satu arah atau dua arah), pratinjau tindakan, lalu konfirmasi.
  4. RcloneView menjalankan sinkronisasi dan menampilkan progres pada tab log transfer.
  • Untuk transfer berulang atau terjadwal:
    1. Klik Save to Jobs pada modal Sync, atau buka Job ManagerAdd Job.
    2. Konfigurasikan sumber, tujuan, dan opsi.
    3. Simpan dan jalankan secara manual atau atur jadwal.

👉 Pelajari lebih lanjut:


⏰ Metode B: Menjadwalkan Job Sinkronisasi Berulang

  1. Pada panel Explorer, pilih folder Cloudflare R2 dan AWS S3 yang ingin Anda jaga tetap tersinkronisasi.
  2. Buka Job Manager dari menu Home atau Remote, lalu klik Add Job.
  3. Konfirmasikan sumber dan tujuan Anda.
  4. Gunakan editor jadwal untuk mengatur kapan job harus berjalan. Pratinjau jadwal Anda sebelum menyimpan.
  5. Simpan dan aktifkan job terjadwal.

RcloneView akan menjalankan sinkronisasi pada waktu yang Anda tentukan. Periksa detail eksekusi dan log pada Job History dan terima notifikasi setelah selesai.

👉 Pelajari lebih lanjut: Job Scheduling and Execution

⚡ Cheat-Sheet Penyetelan Performa

ParameterNilai yang DisarankanLevel DampakAlasan
--s3-chunk-size50M*****Bagian yang lebih besar mengurangi operasi Class-A pada R2 dan meningkatkan kecepatan1.
--s3-upload-concurrency32–64***Meningkatkan thread multipart untuk R2.
--transfers32–64*Upload objek paralel meningkatkan throughput pada tautan 10 Gbit1.
--s3-disable-checksumTambahkan hanya saat merekonsiliasi
checksum secara eksternal
****Melewati bottleneck hashing per-bagian—gunakan dengan hati-hati1.

📈 Hasil Penyetelan Dunia Nyata

Untuk memaksimalkan performa selama transfer cloud-to-cloud, kami menyempurnakan konfigurasi remote Cloudflare R2 seperti dijelaskan di bawah ini.

Hanya Hasil Eksperimental

RcloneView adalah GUI frontend untuk Rclone. Tips penyetelan performa dan benchmark yang dibagikan di sini didasarkan pada pengujian eksperimental yang terinspirasi dari postingan komunitas ( How to Maximize Multipart Upload Speed to Cloudflare R2) dan dapat bervariasi tergantung lingkungan cloud, region, kondisi jaringan, dan kasus penggunaan spesifik Anda.

Hasil ini tidak dijamin dan sebaiknya hanya digunakan sebagai referensi.

🔧 Cara Memperbarui Pengaturan Remote R2

Untuk mengubah konfigurasi remote R2 target:

  1. Pada panel Explorer, klik ikon roda gigi di sebelah remote Cloudflare R2 Anda, atau buka Remote Manager → Edit.
  2. Pada tab Options, klik Show advanced options.
  3. Atur nilai berikut:
    • chunk_size = 50Mi
    • upload_concurrency = 32
  4. Simpan perubahan Anda.

Opsi disable_checksum juga dapat memberikan dampak signifikan terhadap kecepatan transfer. Namun, untuk pengujian ini, kami membiarkannya pada nilai default (false) untuk menjaga pemeriksaan integritas selama transfer file.

chunk size and upload concurrency settings

📉 Baseline: Performa Default

Saat menggunakan pengaturan default:

- chunk_size = 5Mi 
- upload_concurrency = 4.

kami mengamati kecepatan transfer sekitar 114 MB/s saat memindahkan file besar dari AWS S3 ke Cloudflare R2 melalui Rclone yang di-hosting di EC2.

transfer speed with default options

🚀 Setelah Penyetelan: Peningkatan Performa 4×

Dengan memperbarui remote Cloudflare R2 menggunakan pengaturan yang dioptimalkan:

- chunk_size = 50Mi 
- upload_concurrency = 32

dan mempertahankan disable_checksum = false, kami mencapai kecepatan sekitar 440 MB/s—sebuah peningkatan 4× dibandingkan default.

high transfer speed with chunk size and upload concurrency

✅ Ringkasan

Transfer cloud-to-cloud tidak lagi perlu merangkak melalui laptop Anda. Dengan membebankan pekerjaan berat ke daemon Rclone eksternal di EC2, Anda membuka kecepatan migrasi mendekati line-rate, menghindari kejutan biaya egress AWS, dan menjaga alur kerja Anda tetap sepenuhnya visual di dalam RcloneView. Mulailah perpindahan S3 ↔ R2 berikutnya dengan percaya diri—dan ucapkan selamat tinggal pada bottleneck lokal.


🔗 Panduan Terkait

Penyedia Cloud yang Didukung

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