MAGAZINE

ルーターマガジン

AWS

S3: CreateBucketなしでrclone copyを使いたい

2024.12.20
Pocket

rclone copyについて

rcloneは、主にクラウドストレージ間を同期をとるために用いられ、対応するクラウドサービスが多い。 このrcloneで、ファイル・ディレクトリのコピーコマンドとしてrclone copyが存在する。 Amazon s3で使用した際に、aws cliのaws s3 copyと同じ感覚でrclone copyを用いようとしたところ、S3: CreateBucketの権限が必要となった。

S3: CreateBucketなしでの実行

$ rclone copy upload_file profile:dir_path
****/**/** **:**:** ERROR : upload_file: Failed to copy: failed to prepare upload: operation error S3: CreateBucket, https response error StatusCode: 403, RequestID: S4F3590XK5KDJP9N, HostID: *****=, api error AccessDenied: User: arn:aws:iam::************:user/ is not authorized to perform: s3:CreateBucket on resource: "arn:aws:s3:::rooter-s3-test" because no identity-based policy allows the s3:CreateBucket action

S3: CreateBucketなしでのrclone copy

rclone copyでは毎回同名のバケットを作り直しをしている。 これが原因でS3: CreateBucketが必要となる。 逆にrclone copyで同名のバケットを作り直さなければ、S3: CreateBucketは必要なくなる。 方法は2つあり、rclone copyへのオプションによる方法とconfigで設定する方法である。

 方法1 オプション

これは単純で--s3-no-check-bucketオプションを用いるだけ。

rclone --s3-no-check-bucket copy upload_file profile:dir_path

これでファイルのアップロードができる。

方法2 config設定

rclone.conf内へ

no_check_bucket = true

の1行を加えてやるだけでよい。

rclone copy upload_file profile:dir_path

これでファイルのアップロードができる。

まとめ

rclone copyはバケットの作り直しをするため、S3: CreateBucketが必要となる。 作り直しを行わずにコピーすることで解消できる。

Pocket

CONTACT

お問い合わせ・ご依頼はこちらから