メインコンテンツまでスキップ

EC2上の外部RcloneでAWS S3とGoogle Driveを同期する

RcloneView には 組み込みRclone(Embedded Rclone) が搭載されているため、クラウドストレージサービス間(例: Google Drive ↔ AWS S3)のデータ同期は簡単に行えます。RcloneViewをインストールすると、この組み込みエンジンが自動的に含まれ、通常はローカルPCからのファイル転送の管理に使用されます。

しかし、組み込みRcloneを使用すると、すべての転送トラフィックがローカルコンピュータを経由することになります。これは、特に大規模なデータセットを同期する場合や低速なネットワークで操作する場合に、処理速度を大幅に低下させる可能性があります。

例えば、組み込みRcloneを使用してGoogle DriveからAWS S3へファイルを同期する場合、ファイルをいったんローカルマシンにダウンロードしてからS3にアップロードすることになります。この二重転送は、レイテンシを増加させるだけでなく、ローカルの帯域幅も消費します。

sync aws s3 and google drive via ec2

このような場合により良い解決策は、Rcloneをクラウドインスタンス上で直接実行することです。例えばAWS EC2サーバー上で実行します。RcloneViewをEC2上で稼働する外部Rcloneに接続することで、次のことが可能になります。

  • ローカルPC経由のトラフィックを回避する
  • クラウド内で直接クラウド間転送を実行する(Google → EC2 → S3)
  • 高速なクラウドネットワークインフラを活用する

このアーキテクチャにより、パフォーマンスが大幅に向上し、ローカルデバイスへの負荷が軽減されます。

このチュートリアルでは、RcloneViewの新しいウィンドウ機能を使ってEC2上の外部Rcloneに接続し、Google DriveAWS S3の間でクラウド上で完結するファイル同期を行う方法を説明します。

AWS EC2とネットワーク転送料金が発生する場合があります

EC2インスタンス上でRcloneを実行すると転送速度が向上しますが、AWSはコンピューティング使用料や他サービスへのアウトバウンドデータ転送料金を請求する場合があることにご注意ください。

参照: AWS Pricing – Data Transfer

このガイドでは、次の手順を説明します。

  1. AWS EC2インスタンス上でRcloneを起動・設定する
  2. RcloneViewの新しいウィンドウを開く
  3. EC2上の外部Rcloneに接続する
  4. Google DriveAWS S3のリモートを追加する
  5. パフォーマンスを向上させた状態でファイルを直接同期する

パート1: EC2にRcloneをデプロイする(外部Rclone)

AWS EC2ガイドに従ってUbuntuを起動し、ポート5572を開放し、Rcloneをインストールしてrcdデーモンを実行してください。

👉 参照: AWS EC2サーバーでRcloneを実行する方法

要点:

  • rclone rcd--rc-addr=0.0.0.0:5572で実行されている
  • EC2セキュリティグループでポート5572を開放している
  • HTTP Basic認証が設定されている(--rc-user--rc-pass)
  • デーモンを次のコマンドで実行する:
  rclone rcd --rc-user=admin --rc-pass=admin --rc-addr=0.0.0.0:5572
  • 次のコマンドでアクセスを確認する:
curl -X POST -u admin:admin "http://<EC2-PUBLIC-IP-or-DNS>:5572/rc/noop"


パート2: RcloneViewの新しいウィンドウを開く

接続を整理しやすくするため、RcloneViewでは各ウィンドウが独自のRcloneエンジンで動作できます。

  1. RcloneViewを起動する

  2. Homeメニューの**New Window**ボタンをクリックする

  3. 新しいアプリケーションウィンドウが開きます。このインスタンスはメインウィンドウとは独立しており、独自の接続コンテキストを維持します。

📌 次のステップで、このウィンドウを外部Rclone(EC2)に接続します。

👉 詳細はこちら: 新しいウィンドウで複数のRclone接続を使用する


パート3: EC2でホストされている外部Rcloneに接続する

新しく開いたウィンドウで、以下の手順に従ってEC2でホストされている外部Rcloneに接続します。

  1. Settingsメニューから**Connection Manager**を開く。

  2. **New Connection**をクリックして、新しいRclone接続プロファイルを作成する。

  3. 必要な項目を入力する:

    • Display Name: ec2-rclone(または任意の名前)

    • Remote Address: http://<EC2-PUBLIC-IP-or-DNS-NAME>:5572

    • Username / Password: パート1でRcloneデーモンを起動する際に設定した値を使用する
      (例: --rc-user=admin--rc-pass=admin)

  4. **Test Connection**をクリックして設定を確認する。
    接続に成功したというレスポンスが表示されるはずです。

  5. テストに合格したら、**Saveをクリックし、次にConnect**をクリックする。

  6. これでEC2上で稼働する外部Rcloneインスタンスに接続され、ウィンドウ上部に接続ステータスが表示されます。

new connection to ec2 rcloneconnected to ec2 rclone

👉 詳細はこちら: 新しい外部Rcloneを追加する


パート4: AWS S3とGoogle Driveのリモートを追加する(外部Rclone経由)

引き続きEC2に接続されたRcloneViewウィンドウで作業します。

➕ AWS S3リモートを追加する

  1. Remoteメニューの**+ New Remote**をクリックする

  2. ProviderタブでS3を検索して選択する

  3. **Options**タブで:

    • **Provider**をAWSに設定する

    • AWSの**Access Key IDSecret Access Key**を入力する

    • Regionを設定し、S3互換サービスの場合は必要に応じてEndpointを設定する

  4. Saveをクリックし、名前を付ける(例: ec2-s3)

👉 詳細はこちら: AWS S3リモートを追加する

➕ Google Driveリモートを追加する(OAuthアクセストークンを使用)

ブラウザベースの新しいログインフローを完了する代わりに、以下のガイドの手順に従って、事前に取得したOAuthアクセストークンを使用できます。

👉 参照: ブラウザを使わずに外部RcloneでGoogle Driveを設定する

  1. Remoteメニューから**+ New Remote**に移動する
  2. プロバイダーとしてGoogle Driveを選択する
  3. Optionsタブで下にスクロールし、Show advanced optionsをクリックする
  4. 事前にコピーしたトークンを**token**フィールドに貼り付ける
  5. リモートに名前を付け(例: ec2-gdrive)、保存する
browsing aws s3 and google drive via ec2 rclone

パート5: AWS S3とGoogle Drive間でファイルを同期する

これで、EC2のRcloneインスタンスを経由してGoogle DriveとS3間でファイルを転送できるようになりました。

📁 方法A: オンデマンドで比較・同期する

  1. Browseタブに移動する

  2. 左ペインにGoogle Driveリモートを読み込む(ec2-gdrive:)

  3. 右ペインにAWS S3リモートを読み込む(ec2-s3:)

  4. 上部メニューのCompareをクリックする

  5. 差分を確認する:

    • 片方にのみ存在するファイル

    • サイズが異なるファイル

    • 完全に一致するファイル

  6. Copy →← Copy、またはDeleteを使用して同期する

💡 進捗状況はステータスバーと転送ログタブに表示されます。

👉 詳細はこちら: フォルダの内容を比較する


🕒 方法B: スケジュール同期ジョブを設定する

  1. Home → Job Managerに移動し、Add Jobをクリックする

  2. Syncを選択する

    • Source: ec2-gdrive:folder

    • Destination: ec2-s3:folder

  3. 設定する:

    • 同期方向

    • フィルタリングルール(任意)

  4. (任意)Schedulingを有効にする

    • 時間パターンを設定する

    • 組み込みシミュレーターでスケジュールをプレビューする

  5. Save & Enableをクリックする

スケジュールが設定されると、RcloneViewはEC2上のRcloneバックエンドを使って自動的に同期を実行します。

👉 詳細はこちら:


最終確認

  • Transfer LogまたはJob Historyペインで同期が正常に完了したことを確認する

  • EC2の接続状態と応答性を定期的にチェックする


🔗 関連ガイド

対応クラウドプロバイダー

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