SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて

Amazon CloudFrontを活用して高速なコンテンツ配信を実現しよう ~Amazon EC2/S3環境構築のすべて~

第7回

Amazon CloudFront経由でコンテンツをダウンロード

 Amazon CloudFront経由でコンテンツをダウンロードするには、Amazon S3からコンテンツをダウンロードする場合と同様、先ほど割り当てられたドメイン名(もしくは、独自ドメインの設定を行っている場合は、そちらのドメイン名)を指定して、コンテンツにアクセスするだけです。

 しかし、ここで注意点が3つあります。

1.DNSに反映されるまでタイムラグがある

 まず1点目は、「Amazon CloudFront」は専用のドメイン名(xxxxx.cloudfront.net)を使うので、DNSが反映されるまでは通信できないことです。設定後、しばらく待ってからアクセスしてみましょう。

2.初回アクセス時は通信速度が遅い

 2点目は、「Amazon CloudFront」の仕組み上、初回アクセス時は高速に通信できないことです。これは、コンテンツを「Amazon S3」に配置した時点では、まだデータの実体は「Amazon S3」にしかなく、「Amazon CloudFront」のキャッシュサーバには、データが存在していないからです。

 例えば、日本国内から「Amazon CloudFront」のURLへアクセスした場合、初回アクセス時に初めて東京の「Amazon CloudFront」キャッシュサーバにデータが配置されます。この時、キャッシュサーバの後ろ側では、データの実体を「Amazon S3」から取得した後、配信するという動作が発生しています。一度配置されれば、2回目以降の日本国内からのダウンロードは高速に行えるようになります。

 実際、配信するデータサイズが大きければ、1回目のアクセス時と2回目のアクセス時のデータ転送速度の違いが、十分に体感できると思います。

3.キャッシュされたデータの生存時間は24時間

 3点目は、キャッシュサーバにてキャッシュされたデータの生存時間(有効期限)は、キャッシュされたタイミングから24時間となっていることです。つまり、キャッシュされたコンテンツを更新・削除したくなって、「Amazon S3」に存在するデータを操作しても、それがキャッシュサーバへ反映されるまでには、時間がかかることになるので、注意が必要です。

まとめ

 従来、高価なイメージのあったCDNサービスですが、この「Amazon CloudFront」では非常に手軽な金額からスタートすることが可能です

 国内の事例としては、大きな話題を呼んだ"Air Yakiniku"が、「Amazon CloudFront」を活用しています。Air Yakinikuは、サービス開始後、各メディアで取り上げられブレイク。しかし、高負荷となり配信不可能な状態になりました。その際、わずか2時間で「Amazon CloudFront」への移行を成功させ、サービス配信を継続することができたということです(詳細はYakiniku in the Cloud:メディアテクノロジーラボを参照)。

 このように、手軽で、かつすぐに使い始められるという要素は、短期で訪れるビジネスチャンスを逃さないためにも重要なファクターと言えます。高価なため、なかなかCDNサービスを使えなかったベンチャー企業でも、サービスのスタートアップとして、まずはこの「Amazon CloudFront」を使ってコンテンツ配信を行うといった選択肢は、十分ありうるのではないでしょうか。

Amazon Web Servicesの今後の展開

続々と発表される新サービス・新オプション

 2009年に入った現在も、Amazon Web Servicesでは、精力的に新しいサービスや新オプション、サービスの改善が実施されています。つい先日も、「Amazon CloudWatch」「Auto Scaling」「Elastic Load Balancing」の3サービスが発表されました。

  • Amazon CloudWatch
    Amazon EC2のインスタンスのリソースをモニタリングすることが可能
  • Auto Scaling
    Amazon EC2のインスタンスの負荷状況を判断し、自動でインスタンス数を増減させ、スケーリングを実施することが可能
  • Elastic Load Balancing
    ロードバランサとして、各インスタンスのフロントエンドでトラフィックを分散させることが可能

 これらの3つのサービスは、それぞれ連携させて使うことが可能です。例えば、「Amazon CloudWatch」でバックエンドのAmazon EC2のインスタンスの負荷状況を監視し、負荷量がある一定の閾値を超えた段階で、「Auto Scaling」でAmazon EC2のインスタンス数を増加させ、「Elastic Load Balancing」を利用して、新しく起動したAmazon EC2のインスタンスにトラフィックを振り分けることも可能です。

 これらのサービスを使うことで、自動的なスケールアウトで、かつシステムの冗長化を簡単に構築することが可能となります。

ここ2~3ヶ月間に発表された、その他の大きなリリースとしては、

  • Amazon EC2のインフラで、分散処理技術である“Hadoop”を手軽に扱うことが出来る「Amazon Elastic MapReduce
  • Javaの統合開発環境として有名なEclipse上で、Amazon EC2のリソース操作をシームレスに実現できるEclipseプラグイン「AWS Toolkit for Eclipse
  • Amazon EC2の長期利用を前提とした割引オプション「Reserved Instances

などが挙げられ、常に話題には事欠きません。

 また、今後も本連載第6回で も紹介した「AWS Management Console」から「Amazon S3」や「Amazon CloudFront」を操作可能にするプランや、Amazon EC2などで管理しているリソースにタグを付け、運用管理性を向上させるプランも予定されています。

大手ベンダーも参戦、今後も目が離せないAmazon Web Services

 IBMやOracle、Sunといった大手のITベンダーが、Amazon EC2上でのソフトウェア展開に続々とサポートを表明してきていることからも、多くのITベンダーやユーザーが関心を持っていることがわかります。

 クラウドコンピューティングに注目している方に限らず、IT技術者の方であれば、Amazon Web Servicesの展開するクラウドサービスは注目しておくべき存在といえます。

 最後に、本連載がAmazon Web Servicesを利用する際の第一歩目の手助けとなれば幸いです。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて連載記事一覧

もっと読む

この記事の著者

並河 祐貴(ナミカワ ユウキ)

TIS株式会社 / 社内ベンチャーカンパニー「SonicGarden」所属。オブジェクト指向開発、開発環境・ツール整備に従事した後、近年はRuby on Railsを中心としたオープンソース系ミドルウエアの検証 / 導入や、X...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3914 2009/06/04 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー