- S3に書き込み権限を持つIAM userを用意する
- ~/.botoにCredentialsを書く
- ~/.botoに認証バージョン4対応設定を書く
[Credentials]
aws_access_key_id=xxxxxxxx
aws_secret_access_key=xxxxxxx
[s3]
host = s3.ap-northeast-1.amazonaws.com
use-sigv4 = True
gsutil rsync -d -r gs://bucketname/2019 s3://bucketname/2019
memo
ファイルは転送されるが、中身が権限エラーとなり正しく書き込まれなかった。認証バージョン4対応が必要なことに気づかずハマった。gsutil v4.28以降が必要なので、古ければupdateが必要
rsyncに-dオプションがついているので、入力を間違えるとS3の中身がきれいさっぱり消えるので注意すること
参考
amazon-s3 – 認証が原因でgsutilがs3にコピーできない
CloudStorage config
CloudStorage rsync
AWS Service Endpoints