技術者ブログ

クラウド型WAF「Scutum(スキュータム)」の開発者/エンジニアによるブログです。
金床“Kanatoko”をはじめとする株式会社ビットフォレストの技術チームが、“WAFを支える技術”をテーマに幅広く、不定期に更新中!

2017年10月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  • お問い合わせはこちら
Scutum開発者/エンジニアによる技術ブログ WAF Tech Blog

Amazon EC2のデータ転送量と課金まとめ

はじめに

クラウドサービスの代名詞でもあるAWS(Amazon Web Services)が待望の東京リージョンを開設してしばらく経ちました。我々Scutum(スキュータム)はSaaS型のWAF(Web Application Firewall)サービスであるため、AWSのEC2のようなIaaS型のインフラ上に積極的に展開をおこなっています。本エントリではその際にポイントとなる、EC2でのデータ転送量への課金について調べてみました。


(クリックで拡大します)

このエントリの内容はオフィシャルのウェブページやインターネット上の情報を元にしたものであり、実情と異なっている可能性もあるのでご注意ください。また、価格は東京リージョンのものとなっています。

AWSの複雑な課金体系

AWSの特徴のひとつとして、課金の仕組みが非常に複雑であることが挙げられます。これは高いオンデマンド性を実現するために仕方ない面があるかと思いますが、国内の競合IaaSであるIIJGIOやNiftyクラウド、(IaaSではありませんが)さくらのVPSがいずれも非常にシンプルな課金体系を実現していることに対しては、やや不利な面と言えるでしょう。

データ転送量に対する課金だけを見た場合でも、EC2では4種類もの分類があります。また、そのうちのひとつである「Internet Data Transfer」について見てみると、「最初の1GB」「1GBから10TBまで」「10TBから40TBまで」「...」のように、総転送量によって単位あたりの料金が異なっており、結局どの程度の転送量でいくらくらいになるのかをイメージすることが難しい状態となっています。Amazon側もこのような認識がある(?)ようで、ブラウザ上で課金をシミュレートして確認できる公式の計算機が利用できるようになっていますが、データ転送についてはあまり細かいシミュレーションはできないようです。

4種類のデータ転送

それでは具体的にデータ転送量について見ていきます。先述したようにEC2でのデータ転送には4つの分類があります。以下、それぞれの項目について解説します。

(なお、データ転送についての課金では、異なるAWSアカウントに所属するインスタンス同士の通信でも同一AWSアカウントに所属するインスタンス同士の場合と同じように扱われます。)

Internet Data Transfer

図の赤い線を指します。EC2からインターネット上のマシンに送られるデータや、EC2のリージョンをまたいで(東京からカリフォルニアへ、など)送られるデータがこれにあたります。当然ながら4種類のうちでもっとも高価で、1GBあたり$0.201、日本円で約15円となっています。先日行われた値下げにより、EC2側から見てINのデータ(インターネット側からEC2側に送られてくるデータ)は無料となっているため、課金対象となるのはEC2側から見てOUTのデータのみとなります。

Availability Zone Data Transfer

図の青い線を指します。同一のAZにあるインスタンスの間で、プライベートIPアドレスを使って通信する場合の分類です。これは無料となっています。

Regional Data Transfer

図の緑の線を指します。同一リージョン(例:東京)にある、異なるAZ間(例:ap-northeast-1aとap-northeast-1b)において、プライベートIPアドレスを使って通信した場合の分類です。こちらは残念ながら課金対象となります。しかし料金は非常に安めで、1GBあたり$0.01となっています。Internet Data Transferに比べて約1/20の料金です。IN側とOUT側の両方に課金が生じます。

Public and Elastic IP and Elastic Load Balancing Data Transfer

同一リージョン内での通信にグローバルIPアドレス(インスタンスのPublicなIPアドレス、Elastic IP、ELB)を使った場合の分類になります。この場合、通信する2つのインスタンスがそれぞれどのAZにあっても関係ありません。価格はRegional Data Transferと同じで1GBあたり$0.01となります。IN側とOUT側の両方に課金が生じます。

まとめ

このように、EC2では4種類のデータ転送が存在しています。基本的にはインターネット側へ出て行くデータの量だけを気にしていればよさそうですが、インスタンス間で大量のデータを移動させる場合などは、同一AZ間でプライベートIPアドレスを使った通信を行うと無料であることを覚えておくとよいでしょう。

また、別のAWSアカウントに所属するインスタンス同士で、課金を気にしながら大量のデータ転送を行う場合には注意が必要です。AZの実体はアカウントごとに異なる場合があるため、同一AZだと思っていても、実際には異なる可能性があります。この点については近日公開予定の次のエントリを参照ください。