はじめに
S3の Transfer acceleration の速度比較ツールが提供されてるので試してみました。
Transfer accelerationを実際に導入する際には結構値が張るので注意です。
速度比較ツール
AWS謹製ツールなので、バケットポリシーやACLで公開しなくても使えました。
通常モードでアップロードした場合とTransfer accelerationを使ってアップロードした場合の速度を比較してくれるみたいです。
使い方
https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html?region=region&origBucketName=yourBucketName
にアクセスするだけです。
( region
yourBucketName
は自分のバケットのリージョンとバケット名に置き換える)
結果
共有用リンクも発行できるみたい。
スクショも貼っておきます。
絶対値は教えてくれないみたいですね。
バケットは東京にあるので、東京からのアップロードは他と比べるとそこまで上がらないようです。
東京から遠いリージョンほど高速化の恩恵を受けてますね。
世界中から単一のS3バケットにアップロードする時にかなり高速化できそうです。
CloudFront との違い
こんな感じかと思ったんですが、違うみたいです。
- CloudFront: レイテンシを抑える
- S3 Transfer acceleration: スループットを上げる
Amazon S3 Transfer Acceleration は、クライアントと S3 バケットの間で長距離にわたるファイル転送を高速、簡単、安全に行えるようにするバケットレベルの機能です。Transfer Acceleration は、Amazon CloudFront の世界中に点在するエッジロケーションを利用します。エッジロケーションに到着したデータは、最適化されたネットワークパスで Amazon S3 にルーティングされます。
- CloudFront: readアクセスが多い場合
- S3 transfer acceleration: writeアクセスが多い場合
という使い分けが良さそう。
S3 transfer acceleration is essentially Cloudfront without the edge cache. If your content is relatively static then Cloudfront edge caching will greatly improve the user experience. If the content changes frequently (doesn't benefit from caching) then S3 acceleration is a good option because the request is made through the optimized Cloudfront network which is often a lot faster than most consumer grade ISP networks.
終わりに
やっぱり数値で比較するの面白いですね。
実際に使ってる方いたら使用感教えてくれたら大変嬉しいです。