AWS EC2 で Rclone Engine を実行する
このガイドでは、Ubuntuベースの EC2 インスタンス上に Rclone の rcd デーモンをセットアップし、AWS の外部からリモート API アクセスを有効にする手順を説明します。
✅ ステップバイステップの概要
- EC2 インスタンスを起動する
- セキュリティグループを設定する(ポート 5572 を開放)
- インスタンスに SSH 接続する
- Rclone をインストールする
- rclone rcd デーモンを実行する
- 外部から Rclone API アクセスをテストする
- Rclone rcd を systemd サービスとして実行する
EC2 インスタンスを起動する
- AWS Management Console にログインします
- EC2 → Launch Instance に移動します
- 以下のように設定します
- Name: rclone-server(お好みの名前)
- AMI: Ubuntu Server 22.04 LTS(または 20.04 LTS)
- Instance type: t2.micro( 無料利用枠対象)
- Key pair: 新規作成するか既存のものを選択(SSH アクセス用)
- Storage: 8 GB 以上
- Network: デフォルト VPC
- Security group inbound rules:
- SSH(ポート 22): 自分の IP に制限
- カスタム TCP(ポート 5572): 0.0.0.0/0 — Rclone API に必要
- インスタンスを起動します
セキュリティグループを調整する(必要な場合)
EC2 → Instances → 対象のインスタンスを選択 → Security タブ → Security Group をクリック → Edit inbound rules にアクセスします。
Type: Custom TCP
Port: 5572
Source: 0.0.0.0/0 (or restrict to your IP)
EC2 インスタンスに SSH 接続する
ローカル端末から以下を実行します。
chmod 400 /path/to/your-key.pem
ssh -i /path/to/your-key.pem ubuntu@<EC2-PUBLIC-IP>
🔗 .pem キーペアの作成と使用方法については、AWS 公式の「Create a key pair」ページ を参照してください。
Rclone をインストールする
curl https://rclone.org/install.sh | sudo bash
rclone version
rclone rcd デーモンを実行する
rclone rcd \
--rc-user=admin \
--rc-pass=admin \
--rc-addr=0.0.0.0:5572
- --rc-user/--rc-pass: API アクセスを保護します
- --rc-addr: すべてのインターフェースでリッスンし、外部からの接続を可能にします
- --rc-web-gui: Web インターフェースを起動します
💡 常時稼働させるには、tmux、screen、または systemd サービスとして実行することを検討してください。
外 部から API アクセスを確認する
curl を使って簡単なヘルスチェックを実行します。
curl -X POST -u admin:admin \
"http://<EC2-PUBLIC-IP-or-DNS>:5572/rc/noop"
期待されるレスポンス
{}
これにより、Rclone remote control(RC)API が稼働しており、認証済みリクエストを受け付けていることが確認できます。
- admin:admin は、デーモン起動時に定義した実際の --rc-user と --rc-pass に置き換えてください。
<EC2-PUBLIC-IP-or-DNS>は、EC2 インスタンスの実際のパブリック IP または DNS 名に置き換えてください。- エンドポイントは /rc/ で始まる必要があります。/rc/noop コマンドは何も実行せず、API が利用可能であることを確認するだけです。
🔐 推奨されるセキュリティのベストプラクティス
- --rc-user / --rc-pass には強力で一意の認証情報を使用してください
- 以下の方法でアクセスを制限してください
- AWS Security Group で IP ホワイトリストを絞り込む、または
- 特定の IP にバインドする:
--rc-addr=<your_ip>:5572
- 通信を保護するには、リバースプロキシ(例: Nginx + TLS)や Cloudflare Tunnel などのサービスを使って HTTPS を追加することを検討してください
Rclone rcd を systemd サービスとして実行する
再起動後も Rclone デーモン(rcd)をバックグラウンドで実行し続けるには、Linux システム(Ubuntu EC2 インスタンスなど)上で systemd サービスとして登録します。
- システム起動時に自動的に開始されます。
- 失敗時に自動的に再起動し、バックグラウンドで確実に動作します。
1. systemd サービスファイルを作成する
以下のファイルを作成します。
```bash
sudo nano /etc/systemd/system/rclone-rcd.service
以下の内容を貼り付けます(rc-user、rc-pass、その他のフラグは必要に応じて調整してください)。
[Unit]
Description=Rclone Remote Control Daemon
After=network-online.target
[Service]
User=ubuntu
ExecStart=/usr/bin/rclone rcd \
--rc-user=admin \
--rc-pass=admin \
--rc-addr=0.0.0.0:5572 \
--rc-web-gui \
--log-file=/var/log/rclone.log \
--log-level=INFO
Restart=on-failure
[Install]
WantedBy=multi-user.target
🔒 セキュリティに関する注意: 本番環境では admin の認証情報を安全なものに変更してください。
2. systemd をリロードしてサービスを有効化する
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable rclone-rcd
sudo systemctl start rclone-rcd
3. ステータスを確認する
デーモンが実行中であることを確認するには、以下を実行します。
sudo systemctl status rclone-rcd
active (running) が緑色で表示されれば成功です。
これらの手順により、Rclone デーモンはクラウド上で動作し、RcloneView やその他のクライアントから完全にアクセス可能 になり、どこからでもリモートストレージを効率的に管理できるようになります。