Amazon CloudFrontを体験してみた
2008-12-15 01:33 | IT, エントリー | コメントをする »
遅くなりましたが、CloudFrontを体験してみました。
実験の前に参考サイト
CloudFrontの設定方法や、ダウンロードのベンチマークなどは以下のサイトを参考にしましょう。(と丸投げ)
- AmazonS3上のファイルを国内でも高速配信可能なAmazon CloudFrontリリース : Media Technology Labs (MTL) : メディアテクノロジーラボ ブログ
- Amazonの従量課金制CDNサービス「Amazon CloudFront」を使う方法 – RX-7乗りの適当な日々
実験の方法
今回やりたかったことは、ブラウザーを使って普通にブラウジングをしてみて、体感を測ることです。
- HTMLファイル 1
- JSファイル 5
- CSSファイル 2
- 画像ファイル 25
合計33ファイル、163KBのページを表示して、ページがロードされる具合を体感してみました。
EC2単体で体感実験
まずは、全てをEC2のスモールインスタンス上にアップした状態で体感。
Apacheは2.2.9、設定はrpmのデフォルト。KeepAliveはOFF。
やはりもっさり感は否めません。(4.6秒)
CloudFrontで体感実験
では1のHTML以外をS3にアップロードして、CloudFront経由で体感してみます。
これは明らかに速い(1.16秒)。EC2の場合は「ただいま画像1つ1つをロードしてます」って感じで画像が描画されるまでもたもたしていましたが、CloudFront経由の場合はページのロードと同時に画像も描画されました。
Etagもきっちり返してくれるので2回目以降のアクセスには304が返ってきますし、gzipを利用したhttp圧縮も行われているので、cssやjsなどのテキストファイルは効率よく転送されるはずです。
ただし、最初のアクセス時はキャッシュサーバーにデータが届いていないため、キャッシュする為にS3サーバーからの転送時間が加わるので、もっさり感を感じます。2回目はX-Cacheヘッダーが上画像のように変わります。
まとめ
実に簡単な体感実験ですが、CloudFrontの実力は歴然でした。
イメージサーバなどの用途で静的なファイルを負荷分散をするサーバーを立てるケースを想定すると、アクセス急増時にロードバランサー配下のリアルサーバーを増やしたり、静的なファイルを共有する、もしくは分散する仕掛けを用意したり、トラッフィクに注意したり、メンテナンスと運用にかかる時間と人のリソースは、想像に難しくありません。
上記のような心配が必要なサービスを運用している会社さんの場合は、当然既にakamaiなどのCDNを利用していると思いますが、それでもファイル転送元のリアルサーバーは持っている必要があります。
CloudFrontの場合は、配信元サーバーがS3なので、そこのリソースも気にしなくて済みます。
社内でかかるメンテナンスコスト(ベンダー保守、社内保守・監視、対応)、電気代、帯域代、ラック代、サーバー代など様々なコストを考えると、すべて込み込みで1GB/30円っていうのはかなり魅力的ではないでしょうか。