コンテンツにスキップ

rclone

You must generate an Access Key before getting started. All examples will utilize access_key_id and access_key_secret variables which represent the Access Key ID and Secret Access Key values you generated.


rcloneをインストールしたら、rclone configを実行して新しいS3ストレージプロバイダーを設定できます。新しいプロバイダーの詳細について一連の質問が表示されます。

過去にrcloneを設定したことがある場合は、rclone config fileを実行してrclone設定ファイルの場所を表示できます:

~/.config/rclone/rclone.conf
rclone config file
# 設定ファイルは次の場所に保存されています:

次に、エディタ(nanovimなど)を使用して新しいプロバイダーを追加または編集します。この例では、新しいr2demoプロバイダーを追加することを想定しています:

[r2demo]
type = s3
provider = Cloudflare
access_key_id = abc123
secret_access_key = xyz456
endpoint = https://<accountid>.r2.cloudflarestorage.com
acl = private

その後、新しいrcloneプロバイダーを通常のワークフローで使用できます。

バケットとオブジェクトのリスト

rclone treeコマンドを使用して、リモートの内容をリストできます。この場合はCloudflare R2です。

Terminal window
rclone tree r2demo:
# /
# ├── user-uploads
# │ └── foobar.png
# └── my-bucket-name
# ├── cat.png
# └── todos.txt
rclone tree r2demo:my-bucket-name
# /
# ├── cat.png
# └── todos.txt

オブジェクトのアップロードと取得

rclone copyコマンドを使用して、R2バケットにオブジェクトをアップロードしたり、その逆を行ったりできます。これにより、R2がサポートする最大5TBのオブジェクトサイズまでファイルをアップロードできます。

Terminal window
# dog.txtをuser-uploadsバケットにアップロード
rclone copy dog.txt r2demo:user-uploads/
rclone tree r2demo:user-uploads
# /
# ├── foobar.png
# └── dog.txt
# user-uploadsバケットからdog.txtをダウンロード
rclone copy r2demo:user-uploads/dog.txt .

マルチパートアップロードのパートサイズに関する注意

マルチパートアップロードでは、パートサイズが使用されるClass A操作の数に大きく影響し、最終的に請求額が変わる可能性があります。 各パートのアップロードは別々の操作としてカウントされるため、大きなパートサイズは操作数を減らしますが、アップロードが失敗した場合に再試行するのが高コストになる可能性があります。また、マルチパートアップロードは常に少なくとも3倍の操作を消費します。これは、少なくとも1つのCreateMultipartUploadUploadPart、およびCompleteMultipartUpload操作を含むためです。

パートサイズのバランスは使用ケースに大きく依存しますが、これらの要因を考慮することで請求額を最小限に抑えることができるため、考慮する価値があります。

--s3-chunk-size CLI引数を使用して、rcloneのマルチパートアップロードのパートサイズを設定できます。rcloneがマルチパートアップロードを使用していることを確認するために、--s3-upload-cutoff引数も調整する必要があるかもしれません。これらの両方は設定ファイルでも設定できます。一般的に、--s3-upload-cutoff--s3-chunk-sizeよりも小さくなりません。

Terminal window
rclone copy long-video.mp4 r2demo:user-uploads/ --s3-upload-cutoff=100M --s3-chunk-size=100M

プレサインドURLの生成

rclone linkコマンドを使用して、ファイルへの一時的な公開アクセスを共有するためのプレサインドリンクを生成することもできます。

Terminal window
# --expireフラグを渡して、プレサインドリンクの有効期限を決定できます。--unlinkフラグはR2ではサポートされていません。
rclone link r2demo:my-bucket-name/cat.png --expire 3600
# https://<accountid>.r2.cloudflarestorage.com/my-bucket-name/cat.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<credential>&X-Amz-Date=<timestamp>&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=<signature>