確認結果
- S3 のオブジェクトを別のパスで Glacier にコピーできる。
- Glacier のオブジェクトを一発で他の S3 パスにコピーすることはできない。
- 同じパスでリストアしないと他のパスにコピーできない。
準備
- S3 のスタンダードから Glaicier にコピーする
$ aws s3 mb s3://s3-standard-v $ aws s3 mb s3://s3-glacier-v $ dd if=/dev/urandom of=50mb.dat bs=1M count=50 $ aws s3 cp 50mb.dat s3://s3-standard-v/ $ seq -w 1 100 | xargs -t -P4 -I{} aws s3 cp s3://s3-standard-v/50mb.dat s3://s3-standard-v/{}.dat $ aws s3 cp --recursive s3://s3-standard-v/ s3://s3-glacier-v/ --storage-class GLACIER
ストレージクラスが "Glacier" になっている
検証
- Glacier から復元する(一発で別のパスへ復元はできないので同じパスで復元)
$ aws s3 ls s3://s3-glacier-v/|perl -lane 'print $F[3]'|xargs -n1 -I{} aws s3api restore-object --bucket s3-glacier-v --key {} --restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}
- 他の S3 パスへコピーする
$ aws s3 cp --recursive s3://s3-glacier-v/ s3://s3-restore-v/ --recursive --force-glacier-transfer