EC2上の外部RcloneによるAWS S3とCloudflare R2間の高性能ファイル転送
現代のチームは複数のオブジェクトストレージプラットフォームを併用することが多く、大規模なデータセットをローカルデスクトップ経由で転送する際に、帯域幅・レイテンシ・データ送信料が重大なボトルネックになることにすぐ気づきます。Rcloneをクラウドインスタンス上で直接実行し、RcloneViewで制御することで、大量のトラフィックをクラウドの高速バックボーンに流し、ノートPCをデータ経路から切り離すことができます。
以下の手順は「EC2経由でAWS S3とGoogle Driveを同期する」ガイドの構成を踏襲し、S3 ↔ R2のシナリオに拡張したものです。この手順では以下を行います。
- AWS EC2サーバー上でRcloneをリモート制御デーモン(rcd)として起動する。
- 別のRcloneViewウィンドウを開き、その外部Rcloneに接続する。
- EC2上でホストされているRclone内にAWS S3とCloudflare R2のリモートを追加する。
- ローカルの帯域幅制約を受けずに、完全にクラウド間で転送・同期・ジョブのスケジュールを行う。
AWSデータ転送料金
同一アベイラビリティーゾーン内のトラフィックは無料ですが、AZ間およびインターネットへのデータ送信には料金が発生します(一般的にAZ間で$0.02/GB、インターネットへは$0.09/GB)。 参照: AWS料金 – データ転送
外部Rcloneを使う理由
| ローカル組み込みRclone | EC2上の外部Rclone |
|---|---|
| トラフィック経路: S3 → ローカルPC → R2 — 二重ホップで、自宅のアップロード速度に律速される。 | トラフィック経路: S3 → EC2 → R2 — クラウドバックボーン内の単一ホップで、多くの場合10〜25Gbit/sを実現。 |
| 自宅ISPの上限や非対称帯域が大規模移行を遅くする。 | はるかに高いスループット。ローカル側の上限なし。 |
| ローカルのCPU・RAMがすべてのバイトをハッシュ計算する必要がある。 | CPU処理をクラウドVMにオフロードでき、必要に応じて大きめのインスタンスサイズを選択可能。 |
| NAT/ファイアウォールの問題が発生する可能性がある。 | ポート5572を開放したパブリックIP(またはSSH経由のトンネル)を使用。 |
パート1. EC2にRcloneをデプロイする(外部Rclone)
- Ubuntu EC2インスタンスを起動する(マルチスレッドアップロードにはt3.medium以上を推奨)。
- セキュリティグループでTCP 5572を開放する(またはSSHトンネルを使用)。
- Rcloneをインストール:
curl https://rclone.org/install.sh | sudo bash
- Basic認証付きでrcdデーモンを実行:
rclone rcd --rc-addr=0.0.0.0:5572 --rc-user=admin --rc-pass=admin --log-level INFO
--rc-addrフラグは、RcloneViewが呼び出すためのHTTPエンドポイントを公開します。
- ノートPCからヘルスチェックを行う:
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に接続します。
- 新しいウィンドウで、設定 → 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インスタンスに接続され、ウィンドウ上部に接続状態が表示されます。


パート4. AWS S3とCloudflare R2のリモートを追加する(外部Rclone経由)
➕ AWS S3リモートを追加する
- **
Remoteタブに移動し、+ New Remote**をクリックする。 ProviderタブでAmazon S3を選択する。- **
Options**タブで:providerをAWSに設定- Access Key IDとSecret Access Keyを入力
- リージョンとエンドポイントは、カスタマイズしない限りデフォルトのままで構いません
- Saveをクリックして設定を完了する。
👉 詳しくはこちら: