Amazon CloudFront でちょっぱやを実装してみた

2009/04/13

どうもこんにちは!!
Amazon EBSで Apache2とmysqlを動かしてみた
自称EC2マニアのWebデザイナーです。

横浜のホームページ制作スタジオFIXの社長ブログ

↑こちらが実際にAmazon EC2上で動いているサービスです。
無料ホームページ素材ダウンロード [ Web-Stylish!! ] / テストサイト



いかがです? お気づきになられましたか?
そうなんです…。お世辞にも速いとは言えませんよね…?
(これでもいちお「Gzip」というパフォーマンス処理をしてある)

いくら高性能のサーバといえど、置かれているのは遙か海の彼方アメリカ。
物理的な距離の壁は越えられず、結局この程度の通信速度になってしまうんですね。

別にそこまで重くないからいいんぢゃない?
そう思えるならばここでゴールなのですが、
ビジネスの成功にとってWebサイトのパフォーマンスが非常に重要であることを
体験してきた私にとっては、イマイチ乗り気になれぬレベル。


ここまでか、あたしの Amazon EC2の旅…。(´・ω・) 


ところが、そんな悩みを解決し、
いわゆる「ちょっぱや」を実現できるオプションサービスがあるらしい!
その名も Amazon CloudFront

ちょっぱやの仕組みは、日本国内に置かれた Amazonの
キャッシュサーバを利用する、いわゆるCDN。

詳しくは参考サイトをご参照くださいね。
[ 参考サイト ]
AmazonS3上のファイルを国内でも高速配信可能なAmazon CloudFrontリリース
Amazon CloudFrontの使用上の注意とTipsまとめ


どうせここまで来てしまったんだもの。
持ち前の好奇心と探求心の残り汁を搾り出し Amazon CloudFront に挑戦だ!

横浜のホームページ制作スタジオFIXの社長ブログ

Amazon CloudFront へアクセスして、
「Sign Up For Amazon CloudFront」 をクリック。




横浜のホームページ制作スタジオFIXの社長ブログ

一番上の 「Complete Sin Up」 をクリックするだけで申込み完了。




横浜のホームページ制作スタジオFIXの社長ブログ

Firefoxのアドオン「s3fox」を起動して、Amazon S3にアクセス。
「s3fox」は、以下から無料で入手できます。
Amazon S3 Firefox Organizer(S3Fox) 0.4.6




横浜のホームページ制作スタジオFIXの社長ブログ

右側のウィンドウ上部にある「バケット作成ボタン」をクリック。
バケットとは、いわゆるフォルダのこと。




横浜のホームページ制作スタジオFIXの社長ブログ

Folder Name :
このフォルダ名を、CNAMEとしてイメージのパスに使用することになるので慎重に決める。
私は「data.web-stylish.com」としました。




横浜のホームページ制作スタジオFIXの社長ブログ

作成したバケット名の上で右クリックして「Manage Distributions」を選択。




横浜のホームページ制作スタジオFIXの社長ブログ

CNAME: ステップ5で決めたもの。
私の場合「data.web-stylish.com」と入力して
「Create Distribution」 をクリック。




横浜のホームページ制作スタジオFIXの社長ブログ

しばらく待つと Status が「Deployed」に変わります。
Resource Url : に表示されたURLをメモします。




横浜のホームページ制作スタジオFIXの社長ブログ

バケット名の上で右クリックして「Edit ACL」を選択。




横浜のホームページ制作スタジオFIXの社長ブログ

右端 FullControl の蘭の赤い×をクリックして、緑のチェックマークに変更します。
Apply to subfolders にチェックをして、OKをクリック。
これで、Amazon S3での作業は一度終了。




横浜のホームページ制作スタジオFIXの社長ブログ

お名前.com」 にアクセスして 「ドメインNavi」 へログイン。




横浜のホームページ制作スタジオFIXの社長ブログ

ドメイン設定>ネームサーバーの設定>DNS設定 をクリック。




横浜のホームページ制作スタジオFIXの社長ブログ

CNAMEを設定するドメインを選択して 「入力画面へ進む」 をクリック。




横浜のホームページ制作スタジオFIXの社長ブログ

[ ホスト名 ] … data
[ タイプ ] … CNAME
[ VALUE ] … ステップ8でメモした Amazon ClounFront のURL
入力し終わったら 「追加」 をクリックして確認画面へ進み、設定を保存。
1時間くらい経ってからブラウザで
「data.web-stylish.com」へアクセスできるようになりました。




横浜のホームページ制作スタジオFIXの社長ブログ

再度、Firefoxのアドオン「s3fox」を起動して、Amazon S3にアクセス。
バケットの中に「001」という新規フォルダを作成して、
ホームページ用の画像や、CSSファイルをアップロードします。


なぜ「001」みたいなフォルダを作成する理由は
Amazon CloudFront のキャッシュは、24時間以下に設定できないから。

画像をS3上に上書きアップした場合、物理的にファイルは更新されていても、
CDNのキャッシュが最大24時間残ってしまうので、
ブラウザで確認すると古い画像が見えてしまうのです。

それを回避するために、「001」のようなフォルダを作成し、
htmlファイル内のイメージのパスを以下のように設定します。
<img src="http://data.web-stylish.com/001/images/sample.gif"/>


画像を修正する時は、S3上に新たに「002」のようなフォルダを作成し、
その中に新しい画像をアップロードした上でイメージのパスを
<img src="http://data.web-stylish.com/002/images/sample.gif"/>
のように書き換えます。


このように、めんどっちぃ作業が必要ですが
こうすることで、ちょっぱや&リアル更新を実現させたのが、こちら。↓↓

横浜のホームページ制作スタジオFIXの社長ブログ
無料ホームページ素材ダウンロード [ Web-Stylish!! ] / 本番サイト


横浜のホームページ制作スタジオFIXの社長ブログ ■ Amazon CloudFront 使用前
Safari の開発者向けツールで検証してみたら、
Amazon CloudFrontを使用しない場合、全てが表示されるまでに 5.02/秒かかっています。



横浜のホームページ制作スタジオFIXの社長ブログ ■ Amazon CloudFront 使用後
Amazon CloudFrontを使用した場合、全てが表示されるまでに 542/ミリ秒です。


単位が違っちゃってますYO!! 
「ms」ですよ、「ミリ秒」!!!!

Amazon EC2+S3+CloudFront=感動のちょっぱや!!!!!



こうやって終焉にふさわしい感動を向かえ、全17話にわたる
壮大な Amazon EC2 物語は、ようやく幕を下ろしたのでした。



関連エントリー

  1. こんなにスゴイぞ、Amazon EC2
  2. Amazon Web Service、アカウントを取得してみた
  3. Amazon EC2/S3を申し込んでみた
  4. Amazon EC2、X.509証明書を取得してみた
  5. AWS Management Consoleで Key Pairsを取得してみた
  6. Mac OSXでAmazon EC2 Command-Line Toolsを使ってみた
  7. Amazon EC2、インスタンスを立ち上げてみた
  8. Amazon EC2、SSHでログインしてApacheを起動してみた
  9. Amazon EC2、Debianを設定してみた
  10. Amazon EC2、DebianでFTP(vsftpd)設定
  11. Amazon EC2のイメージファイルをS3に保存する
  12. Amazon EC2で固定IPを取得する
  13. Amazon EC2を独自ドメインで使う
  14. Amazon EC2をバーチャルドメインで運用する
  15. Amazon EC2、EBS(Elastic Block Store)を使ってみた
  16. Amazon EBSで Apache2とmysqlを動かしてみた
  17. Amazon CloudFront でちょっぱやを実装してみた
  18. Amazon EC2、AMIを共有する
  19. Amazon EC2上でインスタンスをオートスケールできる「Wakame」
  20. [ 非常事態宣言!!] Amazon EC2、ホームページが消えました
  21. Amazon サポートセンターに連絡を取ってみた
  22. Amazon EC2、SSH(22番ポート)の設定方法はこうすべき!

Post to Twitter

コメントを投稿する