日々のできごとと写真

Amazon CloudFrontを体験してみた


2008-12-15 01:33 | IT, エントリー

遅くなりましたが、CloudFrontを体験してみました。

実験の前に参考サイト

CloudFrontの設定方法や、ダウンロードのベンチマークなどは以下のサイトを参考にしましょう。(と丸投げ)

実験の方法

今回やりたかったことは、ブラウザーを使って普通にブラウジングをしてみて、体感を測ることです。

  1. HTMLファイル    1
  2. JSファイル    5
  3. CSSファイル    2
  4. 画像ファイル    25

合計33ファイル、163KBのページを表示して、ページがロードされる具合を体感してみました。

EC2単体で体感実験

まずは、全てをEC2のスモールインスタンス上にアップした状態で体感。
Apacheは2.2.9、設定はrpmのデフォルト。KeepAliveはOFF。

EC2スモールインスタンスへアクセス

やはりもっさり感は否めません。(4.6秒)

CloudFrontで体感実験

では1のHTML以外をS3にアップロードして、CloudFront経由で体感してみます。

CloudFront経由で体感

これは明らかに速い(1.16秒)。EC2の場合は「ただいま画像1つ1つをロードしてます」って感じで画像が描画されるまでもたもたしていましたが、CloudFront経由の場合はページのロードと同時に画像も描画されました。

Etagもきっちり返してくれるので2回目以降のアクセスには304が返ってきますし、gzipを利用したhttp圧縮も行われているので、cssやjsなどのテキストファイルは効率よく転送されるはずです。

CloudFrontアクセス時のヘッダ

ただし、最初のアクセス時はキャッシュサーバーにデータが届いていないため、キャッシュする為にS3サーバーからの転送時間が加わるので、もっさり感を感じます。2回目はX-Cacheヘッダーが上画像のように変わります。

まとめ

実に簡単な体感実験ですが、CloudFrontの実力は歴然でした。
イメージサーバなどの用途で静的なファイルを負荷分散をするサーバーを立てるケースを想定すると、アクセス急増時にロードバランサー配下のリアルサーバーを増やしたり、静的なファイルを共有する、もしくは分散する仕掛けを用意したり、トラッフィクに注意したり、メンテナンスと運用にかかる時間と人のリソースは、想像に難しくありません。

上記のような心配が必要なサービスを運用している会社さんの場合は、当然既にakamaiなどのCDNを利用していると思いますが、それでもファイル転送元のリアルサーバーは持っている必要があります。
CloudFrontの場合は、配信元サーバーがS3なので、そこのリソースも気にしなくて済みます。

社内でかかるメンテナンスコスト(ベンダー保守、社内保守・監視、対応)、電気代、帯域代、ラック代、サーバー代など様々なコストを考えると、すべて込み込みで1GB/30円っていうのはかなり魅力的ではないでしょうか。

コメント For mixi ユーザー

コメント