読者です 読者をやめる 読者になる 読者になる

うまいぼうぶろぐ

linuxとhttpdとperlのメモ

aws 帯域(bps)と転送量(byte)と料金の目安メモ - ec2とs3とcloudfront

概要

awsトラフィックの料金が良くわからないので調べたメモ。
が、どうも計算結果が高すぎる気がするので何か間違っているかも。あとでもう1回調べる。

traffic

snmpで監視しているとサーバがどれぐらい帯域使っているかわかる。
例えばcactiを利用すれば、current, average, max などで算出してくれる。
(ex:webサーバの1日平均 1Mbps, ピーク時は夜20時頃で20Mbps など)


awsの場合は平均やピークの帯域ではなくて転送量(byte)で課金されるけど、
月何GByteの転送量、って普段意識しなくてよくわからないので
いつものサーバの帯域だとどれぐらいの転送量になるのか調べた。
ここで言っている帯域、転送量はサーバからインターネットへのoutboundのみを考慮
(awsの課金体系がそうなので)


aws以外の専用ホスティング会社の場合、転送量(もしくは平均帯域)ではなくて
95パーセンタイルでの従量課金だったりするので、
単純には比較できないかもしれないけど、目安にはなるかと。

ざっくりわかれば良いので簡単に。
1月=30日
1G=1000M
1M=1000K で計算

料金はここで計算
http://calculator.s3.amazonaws.com/index.html?lng=ja_JP#
為替レート: 1ドル 120円で計算
東京リージョン

2017年追記 為替レートを120円で再計算、CloudFrontを追加

ec2

平均帯域 転送量 (GB/月) 料金 ($/月) 料金 (円/月)
100Kbps 32.40 4.4 528
1Mbps 324.0 45.22 5426.4
10Mbps 3240 453.46 54415.2
20Mbps 6480 907.06 108847.2
50Mbps 16200 2461.87 295425.4
100Mbps 32400 4867.57 584108.4

平均18Mbpsで月額10万を超えて、
100Mbpsで月額50万overなくらい。
うーん、なんか高い気がするけど、、、こんなもんかな。

s3

https://aws.amazon.com/jp/s3/pricing/

GET 10000リクエストで0.004ドル (日本リージョン)

転送料金はec2と同じ。
リクエスト数による追加料金はcloudfrontの約半分。

なので、ec2の単純な転送料金とcloudfrontの数値の
間を取ればだいたいs3の価格になる。
(真面目に調べるならシミュレーターに数値いれる)

cloudfront

https://aws.amazon.com/jp/cloudfront/pricing/

各地域のエッジロケーションから配信する割合と、
リクエスト数によって変動する。
料金表にはリクエスト件数あたりの料金がのっているが、
シミュレーターで入力するのは平均オブジェクトサイズ。
(配信量をリクエスト数で割る)
(リージョンごとに転送料金が異なるので)
100% 日本リージョンから配信した場合は上の価格とほぼ同じ。

日本より高いのは南米とインド。
費用シミュレーション時に割合を入れなかった場合は
単価が最も高い南米100%として計算されるっぽい

平均オブジェクトサイズが小さいと同一の配信量で比較した場合
リクエスト数が増えることになるので、費用も増える。
https://tech.jstream.jp/blog/cdn/cdn_price/
平均サイズは当然サイトによって変動するけど、J-Streamの調査によると

WebSiteOptimization.comの調査(世界トップ1000サイトに対する調査)によると、平均13.6KBです

平均サイズが100KBを超えると、リクエスト数による費用は無視できるようになってくる。

10Mbps 3240GB の場合で

平均object size(KB) 料金 ($/月) 料金 (円/月) リクエスト件数(万)
10 759.37 91124 32400
20 606.49 72778 16200
50 514.76 61771 1620
100 484.14 58102 3240
1000 456.66 54799 324

補足

書いてるままだけど、帯域は平均値なのでピーク値ではない。
何らかの事情でaws等のクラウド上のサーバをオンプレや、専用サーバに移行する必要が出たとする。
で、例えばawsの転送量が324GB/月なので、↑の表を逆算して帯域は1Mbps使える環境でOK、とはならない。
snmpトラフィック状況を確認してピーク値でどれだけの帯域が必要かは確認しておくこと。
普通に運用してたらリソース監視の設定してるだろうからグラフ見れば一発でわかるけど。

サーバの性質によるだろうけど、ピークは平均の5~10倍ぐらいはみといたほうがいい。