« 【AWS発表】Route 53のヘルスチェック機能のアップデート - 編集とタグ付け | メイン

【AWS発表】CloudFrontでカスタムコンテンツの配信が可能に

Amazon CloudFrontは、高速かつ低遅延でエンドユーザにコンテンツを配信するサービスで他のAWSサービス群とも接続して利用できます。CloudFrontの使用を開始するためには、「Distribution」を作成し、S3EC2のようなAWSサービス、またはカスタムオリジンを起動させて、 これらを静的または動的なオリジンとして指定することで「Distribution」の一部として適用されるURLを利用することができます。

本日、ユーザーに配信する動的コンテンツをカスタマイズすることができる新機能を強化いたしました。 これで、エンドユーザーからの要求からの位置情報やデバイス情報といった追加特性によって、どのコンテンツを返すかの決定に使用することができます。 この特性情報はCloudFrontからHTTPヘッダの形式でオリジンサーバに渡されます。 CloudFrontで追加されたヘッダ情報はCloudFront-のプレフィックスが付けられます。

ヘッダーの威力!
オリジンサーバに対して追加のヘッダが利用できるということは、アプリケーションが要求されたコンテキスト全体によって、より完全な形で通知するといったことが選択できることを意味します。ここに可能になった例をいくつか示します。:

  • モバイルデバイスの検出 - デスクトップとモバイルデバイスを識別するためにユーザーエージェントのヘッダを使うことができ、それぞれに適したコンテンツを提供することができるようになりました。CloudFrontは内部デバイス一覧に対して、ヘッダも合致させ、デバイスタイプを認識させるために、 CloudFront-Is-Mobile-Viewer, CloudFront-Is-Desktop-Viewer,CloudFront-Is-Tablet-Viewerのヘッダーを送信します。
  • ジオタギング - CloudFrontは、オリジンへの国を制限するために、CloudFront-Viewer-Countryヘッダーにある国コードによって 通過を指定させることができるようになりました。 それぞれの国を特定するために個別のURLを使わずに、応答をカスタマイズする目的で、この情報を使う事ができます。
  • マルチサイトホスティング - CloudFrontは、オリジンサーバごとにHostヘッダーを通過させる設定ができるようになりました。 その結果、複数のWEBサイトのホストすることができ、各サイトを特定するキャッシュ応答をCloudfrontに持つことができます。
  • プロトコルの検出 - WEBサイトにアクセスするために使うプロトコル(HTTPかHTTPS)によって、別のコンテンツに配信することができるようになりました。 この情報は、CloudFront-Forwarded-Protoヘッダでオリジンサーバ向けに利用できます。
  • CORS (Cross Origin Resource Sharing) - Cloudfront は他のWEBサイトにJavaスクリプトやフォントのようなWEB資産を配信することができるようになりました。 CloudFrontはオリジンサーバにOriginヘッダーを通過して設定できるようになったためで、コンテンツに対してCORSを使って、クロスオリジンへのアクセスできるようになっています。

どのように動作するのか?
CloudFrontのそれぞれのDistributionはオリジンサーバへ転送されるヘッダの一覧情報を含んでいます。3つのオプションがあります。:

  • None - このオプションは、固有の「Behavior」を要求します。
  • All - このオプションは、全てのヘッダーを転送し、効率的にエッジにある全てキャッシュを無効にします。
  • Whitelist - このオプションは、転送されるヘッダーを完全に制御できるようにします。 この一覧は空欄で始まり、ヘッダー情報を追加することで拡張できます。 一覧から選択することで、共通のHTTPヘッダーを追加することができます。 単純に名前を入力することによって、「カスタム」ヘッダーを追加することもできます。

Whitelistのオプションを選択した場合、一覧に追加したそれぞれのヘッダーは「Distribution」に関連されたURL向けのキャッシュのキーの一部になります。 単純に、一覧にヘッダーを追加すると、CloudFrontにヘッダーの値がオリジンサーバによって返されるコンテンツの挙動に影響させることができるようになります。

転送されたヘッダーの一覧にAccept-Languageを加えてみましょう。 これには、2つの重要な影響があります。 第1に、オリジンサーバは選択した言語でアクセスし、その言語でコンテンツを返すようにできます。 第2に、ヘッダーの値がキャッシュのキーの一部になります。 言い換えれば、それぞれのエッジノードは、ノードがある地理的に近い国の言語でコンテンツを特定し、キャッシュすることができるようになります。

一覧に新しいヘッダーを追加するときに、注意点があります。 大量のヘッダー情報を追加すると、エッジからのキャッシュヒット率が下がる可能性があります。 これは結果として、オリジンサーバに追加のトラフィックを発生させてしまうでしょう。

もし、S3と一緒にCloudFrontを使用するのであれば、Originヘッダーの転送を選択できます。 これを使用した場合、複数のWEBサイト間で同じコンテンツを共有するためにCORSポリシーを使うことができます。

さあ、始めましょう。
CloudFront API、もしくはAWSマネージメントコンソールからヘッダーを管理することができます。

こちらが、コンソールからヘッダを管理する方法です。:

-- Jeff;


この記事はAWSシニアエバンジェリスト Jeff BarrのAmazon Web Services Blogの記事、 Deliver Custom Content With CloudFrontを 平山毅 (Facebook, Twitter)が翻訳したものです。

コメント

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c534853ef01a3fd2c42ad970b

【AWS発表】CloudFrontでカスタムコンテンツの配信が可能にを参照しているブログ:

Featured Event

AWSジャパンツアー

AWSジャパンツアー2014夏
詳細・お申し込みはこちら!

エバンジェリスト講演予定

AWSがわかる! エバンジェリストによるオンラインセミナー開催中!
詳細・お申し込みはこちら!

Brought to You By

このブログの最新情報はTwitterFacebookでもお知らせしています。お気軽にフォローください。

堀内康弘 (@horiuchi)


玉川憲 (@KenTamagawa)


2014年7 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31