Amazon S3 バケット間でオブジェクトをコピー

投稿者: | 6月 4, 2020

S3のバケットをコピーする用があったので検証。なんかわけわからない用が近頃多い。そのうち、選挙に立候補する用があるとか、火星に忘れ物をしたので撮りに行くとか、想像を超えた用が出てきそうで怖い。
まぁ、用があるから用なのである。。。

閑話休題
めんどくさいのでコマンドラインで全部実行。ちなみにバケット名はDNS名にしてユニークな名前が必要だからコピペしてはだめです。言わずもがなだけど。

ターゲットバケット名の作成

AWSCLIでデフォルトを指定してあるので、そこにできる。ちなみにリージョン超えは課金に注意

aws s3 mb s3://[[target_bucket]]

 

ターゲットバケットのリージョンを確認

aws s3api get-bucket-location –bucket [[target_bucket]]
{
“LocationConstraint”: “ap-northeast-1”
}

 

ソースバケットのリージョンを確認
aws s3api get-bucket-location –bucket [[source_bucket]]
{
“LocationConstraint”: “ap-northeast-1”
}

 

同期の実行
aws s3 sync s3://[[source_bucket]] s3://[[target_bucket]]

 

ソースバケットの中身の確認
aws s3 ls –recursive s3://[[source_bucket]] –summarize > bucket-contents-source.txt
Total Objects: 3094
Total Size: 1603239622

 

ターゲットバケットの中身の確認
aws s3 ls –recursive s3://[[target_bucket]] –summarize > bucket-contents-new.txt
Total Objects: 3091
Total Size: 1603239622

オブジェクト数が合わないけどサイズは一緒。自分が使っている分には問題はなかった。ちょいちょいでできるので便利だな。こりゃ

 

 

コメントを残す