AWS S3와 Cloudflare R2 간 EC2 외부 Rclone을 통한 고성능 파일 전송
현대의 팀들은 여러 개의 오브젝트 스토리지 플랫폼을 동시에 다루는 경우가 많으며, 대용량 데이터셋이 로컬 데스크톱을 거쳐 이동할 때 대역폭, 지연 시간, 송신(egress) 비용이 심각한 병목이 된다는 사실을 금방 깨닫게 됩니다. Rclone을 클라우드 인스턴스에서 직접 실행하고 이를 RcloneView로 제어하면, 무거운 트래픽을 클라우드의 고속 백본으로 밀어넣고 노트북은 데이터 경로에서 완전히 제외할 수 있습니다.
아래 안내는 "EC2를 통한 AWS S3와 Google Drive 동기화" 가이드의 구성을 참고하여 S3 ↔ R2 시나리오에 맞게 확장한 것입니다. 다음을 진행하게 됩니다.
- AWS EC2 서버에서 Rclone을 원격 제어 데몬(rcd)으로 실행합니다.
- 별도의 RcloneView 창을 열어 해당 외부 Rclone에 연결합니다.
- EC2에서 호스팅되는 Rclone 안에 AWS S3와 Cloudflare R2 리모트를 추가합니다.
- 로컬 대역폭 제약 없이 전적으로 클라우드 간(cloud-to-cloud)으로 전송, 동기화 또는 작업을 예약합니다.
동일 가용 영역(Availability Zone) 내 트래픽은 무료이지만, 가용 영역 간 및 인터넷 송신에는 비용이 발생합니다(일반적으로 AZ 간 $0.02/GB, 인터넷 송신 $0.09/GB). 참고: AWS 요금 – 데이터 전송
왜 외부 Rclone을 사용해야 할까요?
| 로컬 내장 Rclone | EC2의 외부 Rclone |
|---|---|
| 트래픽 경로: S3 → 로컬 PC → R2 — 이중 홉이며 가정용 업로드 속도에 의해 제한됨. | 트래픽 경로: S3 → EC2 → R2 — 클라우드 백본 내 단일 홉으로, 종종 10-25 Gbit/s에 달함. |
| 가정용 ISP의 대역폭 제한이나 비대칭 대역폭이 대규모 마이그레이션을 느리게 만듦. | 훨씬 높은 처리량; 로컬 제한 없음. |
| 로컬 CPU와 RAM이 모든 바이트를 해싱해야 함. | CPU 부담을 클라우드 VM으로 오프로드; 필요에 따라 더 큰 인스턴스 크기를 선택 가능. |
| NAT/방화벽 문제가 발생할 수 있음. | 공용 IP와 개방된 5572 포트 사용(또는 SSH 터널링). |
파트 1. EC2에 Rclone 배포하기 (외부 Rclone)
- Ubuntu EC2 인스턴스를 실행합니다 (다중 스레드 업로드를 위해 t3.medium 이상 권장).
- 보안 그룹에서 TCP 5572 포트를 엽니다 (또는 SSH 터널을 사용합니다).
- Rclone을 설치합니다:
curl https://rclone.org/install.sh | sudo bash
- 기본 인증과 함께 rcd 데몬을 실행합니다:
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO
--rc-addr 플래그는 RcloneView가 호출할 수 있는 HTTP 엔드포인트를 노출합니다.
- 노트북에서 상태를 확인합니다:
curl -u admin:admin -X POST "http://<EC2-IP or DNS-NAME>:5572/rc/noop"
JSON {} 응답이 오면 데몬이 정상적으로 대기 중임을 확인한 것입니다.
👉 더 알아보기: AWS EC2 서버에서 Rclone을 실행하는 방법
파트 2. 새 RcloneView 창 열기
연결을 체계적으로 관리하기 위해, RcloneView는 각 창이 자체 Rclone 엔진으로 동작하도록 지원합니다.
- RcloneView를 실행합니다
Home메뉴에서New Window버튼을 클릭합니다.- 새 애플리케이션 창이 열립니다. 이 인스턴스는 메인 창과 독립적이며 자체 연결 컨텍스트를 유지합니다.
📌 다음 단계에서 이 창을 외부 Rclone(EC2)에 연결하게 됩니다.
👉 더 알아보기: New Window로 다중 Rclone 연결 사용하기.
파트 3. EC2에서 호스팅되는 Rclone에 연결하기
새로 열린 창에서 다음 단계에 따라 EC2에서 호스팅되는 외부 Rclone 에 연결합니다.
- 새 창에서 Settings → Connection Manager를 엽니다.
- New Connection을 클릭하고 양식을 작성합니다:
| 필드 | 값 |
|---|---|
| Display Name | ec2-rclone |
| Remote Address | http://<EC2-IP or DNS-NAME>:5572 |
| Username | admin |
| Password | admin |
- **
Test Connection**을 클릭해 설정을 확인합니다.
연결 성공 응답이 표시되어야 합니다. - 테스트를 통과하면 **
Save**를 클릭한 뒤 **Connect**를 클릭합니다. - 이제 EC2에서 실행 중인 외부 Rclone 인스턴스에 연결되었으며, 창 상단에 연결 상태가 표시됩니다.

