Amazon EC2の利用を考えていますか?

筆者の管理サイト「MOONGIFT」は、2008年3月にAmazon Web Services(AWS)が提供する『Amazon EC2』(Amazon Elastic Compute Cloud)上での運営に切り替えました。今年に入ってから"クラウド"という単語が出回るようになり、その先駆者とも言えるAmazon EC2に注目が集まっています。日本の企業や個人であっても利用者が増えているのは事実ですが、実際の利用にまで踏み切れず躊躇している方が多いのもまた事実です。要因としてはセキュリティの確保や、米国のデータセンターにデータが預けられること、速度面での問題など様々に考えられますが、もっとも大きい問題としては未知なものに対する怖さがあるのだと思われます。

そこで今回はMOONGIFTがこれまでAmazon EC2を利用してきた中で感じたメリット、問題点、コストなどについて紹介したいと思います。あくまでもMOONGIFTの規模感(月間約80万PV/約22万UU、2009年1月時点)で考えたものですが、このレビューを見て自社(または個人)でも試してみようと踏み切るきっかけになれば幸いです。

Amazon Web Servicesのサイト。EC2の他にも多数のサービスが揃っている

MOONGIFTはAmazon EC2上で運営されている

Amazon EC2の利用に至るきっかけ

まず筆者がAmazon EC2を利用するに至ったきっかけについて。

元々MOONGIFTは共有サーバで運営されていましたが、アクセス増にともない負荷が高くなり、データベースの反応が遅くなってきました。とはいえ個人レベルでの運営なので専用サーバを構える予算はなく、まずはVPS(Virtual Private Server)へ移転しました。VPSはAmazon EC2と同様に一つのハードウェアを仮想化し、その上で複数のサーバを動作させる技術です。リソースは適切に分散されているはずなのですが、HDDへの書き込みやネットワークなどで他の仮想化サーバに干渉することがあります。VPSでの運用はしばらく続いたのですが、こちらもアクセスの増加で次第にサーバが重たくなる状態に。SSHでの接続に反応が返ってこないこともありました。こうなるとVPS提供会社に連絡して再起動してもらうほかなくなります。こうしたやりとりが何度も続いた結果、もう少しリソースの割当が多いサービスへの乗り換えを検討するようになりました。

VPS、専用サーバのいずれを契約するにしても、筆者は次の点が気になりました。初期費用が発生する点、料金は月額支払いで、割引には半年や1年などの複数期間での契約が必要な点、そして申し込みからサーバ稼働までに数日を要する点です。この点についてAmazon EC2を調べてみると、アクセスの状況に応じたリソースの柔軟な切り替え、すぐに使い出せるという点に魅力を感じました。従量課金は気になりましたが、ものは試しとAmazon EC2への乗り換えを決断しました。

利用開始までのハードルは高くない

Amazon EC2の利用開始までのステップは非常に簡単です。Amazon Web Servicesにユーザ登録し、クレジットカードを登録するだけで完了です。実際に利用するまで課金されることはありません。

Amazon EC2のサーバ単位であるインスタンス(Instance)は多数のOSから選択できます。Amazon自体が提供するインスタンスイメージ(AMI=Amazon Machine Images)のほか、コミュニティが公開しているAMIも用意されています。Ubuntu/ CentOS/ Debianといったオープンソースのディストリビューション、RHEL/ Windows Serverといった商用OSが利用可能です。多くのVPSサービスではOSが限定されがちですが、Amazon EC2であれば利用目的によって環境を自在に選択できるのが魅力です。

さまざまなOSのインスタンスイメージが登録されている

また、自分でカスタマイズした環境を「Amazon S3」(ストレージサービス)上にAMIとして保存し、再利用できます。環境構築にかかる時間の削減、突発的に起動して利用するといった使い方が可能になります。Amazon EC2とAmazon S3は容易に連携が可能で、両サービス間でのファイル転送は無料です。そのためAmazon S3にはシステムのバックアップを置いたり、アップロードされたファイルを保存する場所として使われます。

読みづらいコスト - MOONGIFTの運営コストは月額80ドル弱

MOONGIFTは、Amazon EC2の利用に毎月およそ80ドル(約7,200円)かかっています。以前に使っていたVPSよりはやや高め、専用サーバよりは安い、という費用です。そこに含まれるのは、"インスタンスごとの基本料金" と "転送料金" 。まずは基本的な料金を見ていきましょう。インスタンスの使うリソースの種類によって変わってきます(※)。

※本文で紹介しているAmazon EC2の料金は、2009年11月1日(現地時間)からの改訂料金をもとにしています。改訂前の金額については、カッコ内に提示しています。また、円表示は1ドル=約90円とした例。

デフォルトの「Small Instance」は、"メモリ:1.7GB/ ストレージ:160GB/ 32bit" という組み合わせで "1時間あたり0.085ドル(旧0.1ドル)" で利用できます。30日間で計算すると、"61.2ドル(旧72ドル)" が必要です。

なお、時間あたりの利用金額はインスタンスの規模が大きくなると "0.34~0.68ドル(旧0.4~0.8ドル)" に変わるほか、OSにLinux/UnixではなくWindows Serverを使った場合は "25%増し" の料金になります。

転送量に応じた課金も発生します。サーバへの受信データは "1GBあたり0.1ドル" 。送信データは転送量に細かい規定があり、"10TB以下であれば1GBあたり0.17ドル" 。利用度合いで料金が変わるため、コストが読みづらいという不安点はありますが、MOONGIFTの運営(Small Instance)では、基本料金と転送料金の合計が月額80ドルを超えたことはありません。転送量を抑えることは運用の工夫でも可能です。画像やCSS、動画ファイルなどは別サーバ(国内の共用サーバなど転送量課金されないサーバ)に保存するといった工夫をすることで十分にカバーできると思います。

料金体系はかなり細かい(詳細はこちら)

長期的に運用する場合、1年または3年単位で利用料を支払う「Reserved Instances」という割引契約も可能です。Amazon EC2を運用してその有用性が理解できた段階で契約すればよいかと思います。そうした期間契約にも随時変更できるのがAmazon EC2の魅力かもしれません。