{S3}Amazon S3 Transfer Acceleration を使用した高速かつ安全なファイル転送の設定

https://dev.classmethod.jp/articles/s3-transfer-acceleration-with-aws-cli/

Transfer Acceleration は仮想ホスト形式のリクエストでのみサポートされます。

 

-- 1. S3 バケットを作成する
export AWS_DEFAULT_REGION=us-east-1

aws s3 mb s3://bucket123
aws s3 ls


-- 2. バケットでの Transfer Acceleration の有効化

aws s3api put-bucket-accelerate-configuration --bucket bucket123 --accelerate-configuration Status=Enabled

-- 3. バケットでの Transfer Acceleration の無効化

aws s3api put-bucket-accelerate-configuration --bucket bucket123 --accelerate-configuration Status=Suspended

-- 4. バケットでの Transfer Acceleration の設定確認

aws s3api get-bucket-accelerate-configuration --bucket bucket123


-- 5. Transfer Acceleration の使用

dd if=/dev/zero of=dummy.100M bs=100k count=1024

-- Transfer Accelerationを使用する場合

time aws s3 cp dummy.100M s3://bucket123/001/  --endpoint-url https://s3-accelerate.amazonaws.com

aws s3 ls s3://bucket123 --recursive

real    0m5.364s
user    0m1.038s
sys     0m0.355s

-- Transfer Accelerationを使用しない場合

time aws s3 cp dummy.100M s3://bucket123/002/

aws s3 ls s3://bucket123 --recursive

real    0m4.555s
user    0m1.053s
sys     0m0.375s

Transfer Accelerationの効果は確認できなかった

-- 6. クリーンアップ
-- バケットの削除
aws s3 rb s3://bucket123 --force
aws s3 ls