クラウドAPIレート制限を徹底解説 — 転送が失敗する理由と解決方法
クラウド同期が快調に始まったのに、突然速度が這うように遅くなる。「Rate limit exceeded」「403 Forbidden」「Too many requests」といったエラーメッセージが表示される。転送は60%で止まってしまう。一体何が起きているのでしょうか?
すべてのクラウドストレージプロバイダーは、APIとのやり取り速度に制限を設けています。このレート制限はインフラを不正利用から守るためのものですが、大量のデータを移動している正当なユーザーにも影響を与えます。この制限を理解し、ツールをそれに合わせて設定することが、確実に完了する転送と途中で失敗する転送の分かれ目になります。

すべてのクラウドを一か所で管理・同期
RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。
- ワンクリック操作: コピー · 同期 · 比較
- 信頼性の高い自動化のためのスケジューラーと履歴
- Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
コア機能は無料。Plusで自動化機能を利用可能。
APIレート制限とは?
クラウドストレージでファイルをアップロード、ダウンロード、一覧表示、変更する際、ツールはAPI呼び出しを行います。各操作は1つ以上のAPIリクエストです。レート制限は、一定期間内に行えるリクエスト数の上限を定めます。
制限の種類
- 秒あたりのリクエスト数 — 1秒間に行えるAPI呼び出しの数(例:S3では、プレフィックスごとに秒間3,500件のPUTリクエスト)。
- 1日あたりのリクエスト数 — 1日の総API呼び出し数(例:Google Driveはアプリ全体で1日あたり約100億クエリだが、ユーザー単位ではもっと少ない)。
- 1日あたりの帯域幅 — 総データ転送量(例:Google Driveでは1日あたり約750GBのアップロード)。
- 同時接続数 — 許可される同時接続の数。
- バースト制限 — スロットリングが発動するまでに許容される短期的なスパイク。
プロバイダー別のレート制限
Google Drive
| 制限 | 値 |
|---|---|
| 1日あたりのアップロード | 約750GB |
| 1日あたりのダウンロード | 約10TB |
| 100秒あたりのAPIクエリ | ユーザーあたり1,000件 |
| 秒あたりのファイル操作 | 約10件 |
| エラーコード | 403(userRateLimitExceeded)、429 |
Google Driveは最もレート制限が厳しいプロバイダーの1つです。403やuserRateLimitExceededが表示された場合、その壁にぶつかっています。
OneDrive / SharePoint
| 制限 | 値 |
|---|---|
| API呼び出し | 動的スロットリング |
| 同時アップロード | 推奨は約4件 |
| エラーコード | 429(Too Many Requests)、503 |
Microsoftは動的スロットリングを採用しており、セッション内での使用量が増えるにつれて制限が厳しくなります。
AWS S3
| 制限 | 値 |
|---|---|
| PUT/COPY/POST/DELETE | プレフィックスあたり秒間3,500件 |
| GET/HEAD | プレフィックスあたり秒間5,500件 |
| 1日あたりの帯域幅制限 | なし(無制限) |
| エラーコード | 503(Slow Down) |
S3は最も寛容です。数千件の小さなファイル操作を行わない限り、ほとんどのユーザーはレート制限に達しません。
Dropbox
| 制限 | 値 |
|---|---|
| API呼び出し | アプリごとに約300件/分 |
| セッションあたりのアップロード | 段階的スロットリング |
| エラーコード | 429 |
Backblaze B2
| 制限 | 値 |
|---|---|
| API呼び出し | プランに基づく |
| 同時アップロード | 明確な上限なし |
| 帯域幅 | 従量課金、上限なし |
B2は非常に寛容で、レート制限が問題になることはほとんどありません。
RcloneViewがレート制限にどう対処するか
自動リトライ
rcloneはレート制限エラー(429、403、503)を受け取ると、自動的に:
- 該当する転送を一時停止します。
- サーバーが指定した時間だけ待機します(または指数バックオフを使用します)。
- 操作を再試行します。
これは転送ログに「rate limited, waiting X seconds」として表示されます。
並列転送数の設定
APIリクエストレートを下げるには、並列転送数を減らします。
| プロバイダー | 推奨並列転送数 |
|---|---|
| Google Drive | 3〜4 |
| OneDrive | 4 |
| Dropbox | 3〜4 |
| S3 | 8〜32 |
| B2 | 8〜16 |
帯域幅制限
帯域幅制限を使ってデータ転送レートを制御し、間接的にAPI呼び出しを減らせます。
v1.3の失敗転送リトライ機能
レート制限対策を行ってもなお転送が失敗する場合、v1.3のリトライ機能はジョブ完了後に失敗したファイルを再実行できます。