Amazon EC2を利用するにあたってコストパフォーマンスがどれくらいいいのかを検討するためにWEBで公開されてるGIGAZINEの情報をもとにケーススタディとして考察してみました。
なお本エントリではサーバーの構成を全く同じにできない点、WEBで手に入る情報のみをソースにしている点、計算をやりやすくするためにある程度簡略化している点から実際の料金と異なる可能性がある可能性があります。
(参考条件)
・GIGAZINEの2007年9月のサーバー
◆旧GIGAZINE.NETサーバ「NEC Express5800 120GR-1c(PDFファイル)」×1台
CPU:Xeon 2.8GHz DUAL
HDD:250GB RAID1
メモリ:2GB(後に4GBに増設)
ネットワーク:10Mbps
OS:Red Hat Enterprise Linux ES4
◆新GIGAZINE.NETサーバ「IBM System x3250」×2台
CPU:QuadCore Xeon X3210 2.13GHz
HDD:250GB RAID1
メモリ:4GB
ネットワーク:10Mbps
OS:Red Hat Enterprise Linux ES4
http://gigazine.net/index.php?/news/comments/20070929_gigazine_move_complete/
・GIGAZINEの2008年4月のサーバー
■新サーバの構成
IBM System x3200/Quad Core Intel Xeon プロセッサー X3210 2.13GHz×5台
HP ProLiant ML115/AMD Athlon 64 プロセッサ 3500+(2.2GHz、512KB L2)×1台
ロードバランサー1台
Apacheで処理するサーバ:3台
MySQLサーバ:1台
NFSサーバ:1台
http://gigazine.net/index.php?/news/comments/20080418_gigazine_new_server/
2008年3月のページビュー:3521万(先月比667万増)
ユニークユーザー数:1149万(先月比228万増)
転送量:5139GB(先月比637GB増)
※Webalizerによる解析結果
http://gigazine.net/index.php?/news/comments/20080418_access/
(前提条件)
・転送量5139GBの10%がWEBサーバーから出力する転送量、10%がS3から直接呼び出す画像、80%はキャッシュ化できる画像でキャッシュ処理で対応できると想定
・画像ファイルはすべてCloudFrontを利用する
・WEBサーバーはstandardのlargeインスタンスを3台
・ロードバランサはstandardのsmallインスタンスを1台
・データベースサーバーは余裕をもってHigh CPU InstancesのExtra Largeを1台
・NFSはamazonのS3で代用。現在のデータ量がわからないため、とりあえず利用量を上限値を250GBで設定
ほんとはsquidとかのキャッシュサーバーを使うともっとサーバーの台数を落とせそうなのですがここでは前提の構成にできるだけ合わせることにします。
計算してみると
・WEBサーバー3台 $0.4(/h)×24h×30day×3台=$864
・ロードバランサ1台 $0.1(/h)×24h×30day=$72
・データベースサーバー $0.8(/h)×24h×30day=$576
・S3利用料 $0.15(GB)×250GB=$37.5
・S3転送料 5139GB×0.1×$0.17/GB=$87.3
・CloudFront転送料 5139GB×0.9×$0.221/GB=$1022
・EC2転送料 5139GB×0.1×$0.17/GB=$87.3
サーバー利用料:$1512
回線利用料:$1234.1
計:$2731.1
1ドル90円のレートで計算するとおよそ月に248790円でGIGAZINEのサーバー群が運用できるような形になります。ちなみにアクセス数の少ないと思われる2時~10時の8時間に関してapacheを1台に削減するとすると$0.4×8h×30day×2=$192くらいは削減できると思います。その他にもDBを2台にしてその時間にはスレーブを1台を落とすとか。
ちなみにこれをさくらインターネットで代用しようとすると
・回線アップグレード 10M占有 10500円/月
・ロードバランサー NEC Express5800 i110Rb-1h 月額19800円
・WEBサーバー3台+NFS1台 NEC Express5800 110Ri-1 DualCore Xeon 月額25800円/台
・データベースサーバー1台 NEC Express5800 i120Ra-e1 QuadCore Xeon 2CPU 月額35800円
で計169300円ぐらいになります。
純粋にサーバーの利用料はたいして変わらず、回線部分の違いが出たという感じでしょうか。
実際コストが1.5倍くらいの計算になりましたが、専用サーバーとは違い即座にサーバーを追加できる点や、アクセスの少ない時間にはサーバーを落として台数を削減できる点、の2つのメリットを生かせばcloudで十分に同じくらいのコストパフォーマンスはだせそうな感じがします。
しかしなんでもcloudという使い方ではなく、サービスのアクセス数が成長を続けている際にはサーバーのリソースが足りなくなるというリスクを避けるためにできるだけクラウドを利用し、アクセス数の安定期に入った時点で専用サーバー群に移行するという選択肢が正しいように思います。
また組み合わせでの利用を検討するのであればamazonのクラウドの利用料は転送料金が50%弱をしめていることから、さくらインターネットなどにsquidサーバーを設置しそこに静的コンテンツを設置するような形もアリだとは思います(実質CloudFrontと同じ)。
画像の多いサービスならかなりコストを押さえながら「サーバー拡張メリット」と「回線メリット」のそれぞれを生かしながら運用することもできるのではないでしょうか。
また、補足としてはAmazonがダウンしたら?という声も多いようですがよほどインフラに力を入れている企業以外では、自社サーバーの不具合で停止する可能性とAmazonの停止する可能性はどちらが高いのかは自明な気もします。
最後に実はAmazon WEB Serviceで利用できるサービスはEC2やS3だけでなく全部で14個もありますが、そのあたりをまとめたドキュメントも意外と見つからなかったため下記にまとめました。
Amazon Web Serviceでできることのまとめ
http://blog.kndb.jp/labo/2009/02/amazon-web-service.php
Cloudは使い方次第ではかなり使えそうです。

