MAGAZINE
ルーターマガジン
AWS
S3: CreateBucketなしでrclone copyを使いたい
2024.12.20
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が必要となる。
作り直しを行わずにコピーすることで解消できる。
CONTACT
お問い合わせ・ご依頼はこちらから