EC2/S3単体か?CloudFrontを利用するか?料金の仕組みについて解説

S3
スポンサーリンク

CDNというIT用語があるのをご存知ですか?

CDNとは”Content Delivery Network”の略で、簡単に言うと、世界中に多数のコンテンツ配信用のキャッシュサーバを設置しておき、
利用者に対して、コンテンツ配信元のサーバからではなく、一番近いキャッシュサーバにアクセスさせることでネットワーク遅延を軽減してくれるものです。

一般的には、画像や動画配信であればCDNを利用した方が速くなると言われています。

AWSサービスの中ではCloudFrontがその役割を担っています。

「うんうん、性能面から見てCDNを使うメリットがあるのはわかった!」

「で、価格的にはどうなん?」

「やっぱりCDNを利用している分、高くなるよね?」

そして、インターネットへのデータ転送料についても気になるところです。
CDNをかませているため、「配信元→CDN→インターネット」とデータ転送が1回増えているので、その分はどうなるのだろうかと。

今回は、とあるWEBサイトを例にしてCloudFrontを利用した場合の料金面についてお話しします!

スポンサーリンク

WEBサイトのAWS構成比較

今回は、写真画像をメインにしたWEBサイトを例にして、以下のケースで料金を考えていきたいと思います。

  1. EC2単体でWEBサイトを構築した場合
  2. S3単体でWEBサイトを構築した場合
  3. EC2+CloudFrontでWEBサイトを構築した場合
  4. S3+CloudFrontでWEBサイトを構築した場合

わかりやすくするために、ELBやRoute53、その他もろもろのAWSサービスは使わず、
またEC2の冗長化といったこともせず、シンプルな構成で考えたいと思います。

EC2単体でWEBサイトを構築した場合

◆AWS構成図

S3単体でWEBサイトを構築した場合

◆AWS構成図

EC2+CloudFrontでWEBサイトを構築した場合

◆AWS構成図

S3+CloudFrontでWEBサイトを構築した場合

◆AWS構成図

 

価格比較 調査結果

では、上記の構成比較を中心に価格比較結果をお話します。

今回は、単純にサイトから写真画像を配信することを例に、データ転送料について着目します。

そのため、EC2やEBSの利用料やS3のストレージ料金については比較対象外とさせていただきます。

また、S3やCloudFrontにはリクエスト料というGET等のリクエスト命令自体にかかる料金もありますが、データ転送料に比べると微々たるもののため、それらも比較対象からは外させていただきます。

まずは比較表から!

こちらは月間100GBのデータを、同リージョンのインターネットへ転送した場合の比較表です。
※東京リージョンから日本国内へ配信した場合

 EC2単体S3単体CloudFront+EC2CloudFront+S3
オリジン(EC2またはS3)からCloudFrontへの転送料--0USD0USD
インターネットへの転送料1GB:0USD
99GB:11.286USD
(0.114USD×99)
1GB:0USD
99GB:11.286USD
(0.114USD×99)
100GB:11.4USD
(0.114USD×100)
100GB:11.4USD
(0.114USD×100)
データ転送料合計11.286USD11.286USD11.4USD11.4USD

※EC2単体やS3単体にある「1GB」と「99GB」が分かれているのは、EC2もS3も1GB以下のデータ転送料は無料だからです。
1GBを超えてからは料金がかかる仕組みとなります。

次に、同じく月間100GBのデータを、リージョンとは異なる地域のインターネットへ転送した場合です。

※東京リージョンから海外(米国・カナダ・欧州)へ配信した場合

 EC2単体S3単体CloudFront+EC2CloudFront+S3
オリジン(EC2またはS3)からCloudFrontへの転送料--0USD0USD
インターネットへの転送料1GB:0USD
99GB:11.286USD
(0.114USD×99)
1GB:0USD
99GB:11.286USD
(0.114USD×99)
100GB:8.5USD
(0.085USD×100)
100GB:8.5USD
(0.085USD×100)
データ転送料合計11.286USD11.286USD8.5USD8.5USD

調べていてわかったのですが、私自身少し勘違いしていた部分がありました。

というのも、「EC2→CloudFront」または「S3→CloudFront」へ転送する際にもデータ転送料がかかると思っていたんですが、そんなことはないんですね。

AWSの場合ですと、配信元サーバ(EC2、S3)からCloudFrontへのデータ転送料は無料となります。

あと、CloudFrontはどの地域へ配信するかよって単価が変わってきます

上記のようにEC2やS3単体で配信するのに比べて安くなることもありますし、
逆に高くなることがあります。

 CloudFrontの地域別データ転送料(1GBあたり)
※10TBまでの単価
米国およびカナダ0.085USD
欧州0.085USD
南アフリカと中東0.110 USD
日本0.114 USD
オーストラリア0.114 USD
シンガポール、韓国、台湾、香港、フィリピン0.140 USD
インド0.170 USD
南米0.250 USD

地域限定というのであれば、CloudFrontを利用せず、その地域のリージョンにEC2を立ててしまうという手段もあります。

※(注)価格については2019.2.21時点の価格となります。

まとめ

CloudFrontを利用しなければ、距離的に離れていればいるほどネットワーク遅延問題が発生してしまいます。

また、離れていなくても利用しなければ配信元のサーバーに負荷がかかりますので、やはりレスポンス問題に発展します。

一方、CloudFrontを利用すればそのような問題は解消されます。

地域毎に単価は異なりますので、一概にCloudFrontを使った方が良いとは言えませんが、
それでもあまり金額差がないのであれば、CloudFrontを使わない手は無いのではないでしょうか。

多少設定が面倒ではありますが、そこまで難しいものではありませんので、
積極的にCloudFrontを利用していきましょう。

以上、hidesanでした!

スポンサーリンク
S3
Tech Dive
タイトルとURLをコピーしました