20120611 aws meister-reloaded-cloud-front-public

4,755 views

Published on

Published in: Technology

20120611 aws meister-reloaded-cloud-front-public

  1. 1. AWSマイスターシリーズ~CloudFront ~2012年6月11日荒木 靖宏 (@ar1 )プリンシパルソリューションアーキテクト
  2. 2. 主要な仕様RTMP (Flash) と HTTP / HTTPSコンテンツキャッシュ期限を0にもAdaptive Bitrate StreamingPrivate ContentProgrammatic Invalidation Amazon CloudFront業界標準のアクセスログAWS Management Console全機能を制御できるAPI 2
  3. 3. 他社と比べたときのCloudFrontの特徴コミットメントなし  バンド幅、転送量、 期間などオリジナルコンテンツにはHTTPでアクセス  S3や、WebサーバFLVストリーミングも付加料金なし  FLV ファイルはS3上に配置その他S3との密接な連携  ログやS3クライアント
  4. 4. CloudFrontの利用例ゲームソフトウェアダウンロードメディア配信 – オンデマンド & Live写真共有ウェブサイト一般 4
  5. 5. ケーススタディFCバルセロナ 問題点: FCバルセロナは試合中継の日のピークト ラフィックの対応に多くの時間とコストをか けすぎていた 解決策: AWSの伸縮性(Elastic) と従量課金モデル により解決 FCバルセロナのウェブサイト、ECサイトお よびモバイル向けアプリケーションをEC2, CloudFront, RDS, Route 53などで構築・運 用 ビジネス上の効果: 試合日の対応の簡素化及び効率化 商品リリースまでの時間を半分に削減 6
  6. 6. CloudFrontの利用メリット• いつでも利用開始可能• 価格 – CloudFrontの転送課金はEC2向けのネットワーク 課金より安価 – 実際の転送量とリクエスト数に応じた支払い – エッジロケーション毎に料金が異なる • 日本は0.201米ドル/GBから• コミットしていただければディスカウントあり – Reserved Capacity
  7. 7. Reliable• それぞれの地域内で複数のロケーションで冗長化• 24x7ではたらく専任のチーム• 多数の利用実績• 99.9% SLA
  8. 8. 価格 9
  9. 9. Dynamic Site Acceleration 10
  10. 10. 動的コンテンツ(dynamic content)とは?• インタラクティブ• パーソナライズ• News• Weather• Sports• Social media• Advertising 11
  11. 11. 動的サイトにおけるCloudFront利用は一部に限られていた Dynamic Content www.mysite.com Elastic Load Amazon EC2 BalancingYour Users Static Content Amazon S3 Amazon CloudFront static.mysite.com 12
  12. 12. Dynamic Site 機能• Multiple Cache Behaviors NEW!• Multiple Origin Servers NEW!• Origin Connection Protocol• Viewer Connection Protocol• Minimum Expiration Period NEW!• Query String Parameters NEW!• Private Content• Console Support NEW! 13
  13. 13. 今日からの動的サイトの構築 ユーザはまず CloudFront へ 最低レイテンシへの誘導 Dynamic Content TCP最適化 Persistent Connections Elastic Load Amazon EC2 Balancing Your Users Amazon CloudFront Static Content www.mysite.com CloudFront から Origin 動的/静的のコンテンツわけ Amazon S3オリジンへのPersistent connections 経路のモニタリング 14
  14. 14. Multiple Cache Behaviors• Query Stringsをオリジンに飛ばすかどうかなどを制御• 登録できる制御パターンは10まで。デフォルト値の設定も必要。• 最初にマッチしたものが使われる 15
  15. 15. Multiple Origin Servers• 複数のオリジンが使える。 • S3 bucket, an ELB, an EC2 instance, a custom origin, etc.• 10オリジンまで. それぞれ”Origin ID”が付与される Amazon Confidential 16
  16. 16. Minimum Expiration Period• minTTL はAPIとコンソールから• minTTL は0秒にも設定可能 ヘッダの利用が必須• 使うヘッダ • If-Modified-Since (クライアントから) • Cache-Control: no-cache | s-max-age=0 | max-age=0 • Expires: <now or in the past> • Pragma: no-cache (not in the spec, but for HTTP 1.0 backward compatibility)• 一切cacheしないためには、Cache-Control: no-store | private、さらに minimun TTLを0にする 17
  17. 17. Query String Parameters• オプション機能として提供。有効ににすると、Query Stringもすべて含 んだfull URLがオリジンに送られる。• ロギング機能を有効にしていれば、Query Stringは記録される。• 注意事項 • Query Stringの順番、大文字小文字に注意 • Private Content機能を使うときにCloudFrontで予約 • Expires, Policy, Signature, and Key-Pair-Id are reserved query parameters 18
  18. 18. CloudFrontはどう動いているのか 19
  19. 19. CloudFront’s Global Presence Europe Amsterdam DublinNorth America Frankfurt (2)Ashburn, VA (2) London (2) Milan (2) AsiaDallas, TX Hong KongJacksonville, FL Paris Stockholm OsakaLos Angeles, CA (2) Singapore (2)Miami, FL TokyoNewark, NJNew York, NY (2)Palo Alto, CA South AmericaSeattle, WA Sao PauloSan Jose, CASouth Bend, INSt. Louis, MO 30のエッジロケーション(2012年5月末) 20 Amazon Confidential
  20. 20. CDNを使用しないときの動作Webサーバ
  21. 21. DNSとHTTP example.com DNS ユーザ local DNS 2 1 3www.example.comにどうアクセスする? 1. クライアントは使用しているDNS解決用サーバに、 www.example.comのアドレスを問いあわせる 2. www.example.comがCNAMEレコードならば、さらに IPアドレス(Aレコード)が得られるまで問いあわせる 3. IPアドレスに向けてHTTPでアクセスする
  22. 22. CloudFront使用時のHTTP配信 様々なIPアドレ スが使用される
  23. 23. DNSとHTTP(CloudFront使用時) example.com DNS local DNS ユーザ 2 1 cloudfront.net DNS 3 地理 情報 4 5 CloudFront 1. クライアントは使用しているDNS解決用サーバに、cloudfront.example.comのアドレス を問いあわせる 2. cloudfront.example.comはXXXX.cloudfront.netのCNAME 3. XXXX.cloudfront.netのIPアドレスを問いあわせ。 4. cloudfront.netのDNSが地理情報に応じたCloudFrontのIPアドレスを返す 5. CloudFrontのIPアドレスに向けてHTTPでアクセスする
  24. 24. CloudFrontの詳細 25
  25. 25. オリジンサーバの使いわけEC2など、自分で運用しているサーバを使う場合  動的なコンテンツ  Ajaxなどクロスドメイン通信が必要なものS3を使う場合  FLVファイルの配信 • Adobe Flash Media Server 3.5相当 • rtmp://[domain_name]/cfx/st/[filename]  静的ファイル • 画像、テキスト、CSSファイル等
  26. 26. ログファイル全てのログファイルはS3に保存  クライアントからのアクセス記録は全エッジロケーションから24時間 以内に収集  オリジンフェッチを使う場合は、S3のバケットを作成する  ログをとらないことも可能ログの形式  1時間毎もしくは、50MB毎の分割  例: • mylogs.s3.amazonaws.com/myprefix/EMLARXS993KST G8.2009-03-17-20.RT4KCN4SGK9.gz
  27. 27. 利用の注意点課金はトラフィック量とリクエスト数にかかります  0.0095USD / 1万 HTTP request  0.0130USD / 1万 HTTPS request特定のエッジロケーションだけ使うようにはできない。  エンドユーザの位置次第ですオリジンフェッチは、それぞれのエッジロケーションから個別にアクセスします
  28. 28. カスタムドメイン使用上の注意(1)CNAMEはCloudFrontの設定時に設定したものと一致する必要がある  一致しない場合はinvalidとして処理される
  29. 29. カスタムドメイン使用上の注意(2)HTTPSの場合はカスタムドメインを使用できない  無理に使うと警告されます
  30. 30. カスタムドメイン使用上の注意(3)Route53を使った場合のドメイン名だけのCloudFrontは指定できない。
  31. 31. キャッシュの制御 ヘッダでのCache-Controlヘッダ、Expiresヘッダを使用 制御が必須例 Cache-Control: max-age=3600 Expires: Tue, 05 Oct 2011 21:00:00 GMT最小時間は0秒頻繁に更新する場合には、URL(ファイル)名変更を推奨ファイルの破棄リクエスト  同時に3リクエストまで  1リクエストで1000URLまで
  32. 32. 動画配信ストリーミング  エンドユーザが視聴後にファイルが残らない  部分再生をした場合には、再生部分のみ配送(=低料金)HTTP配信  オフライン再生などのために、ローカルコピーを保存してもらいたいと きに使用する  部分再生の場合であっても通常はファイル全体が配送される
  33. 33. ライブストリーミングアドビでFMS on AWSを購入  http://www.adobe.com/go/learn_fms_aws_order_en.https://s3.amazonaws.com/cloudfront-live-jp/live-http-streaming-using-cloudfront.txt
  34. 34. CloudFrontに関するまとめCloundFrontはContent Delivery Networkです Web(HTTP,HTTPS), Flash streaming (RTMP)使ったぶんだけの支払い コミットメントなし オンラインだけでいつでも始められますオリジンサーバは選択可能 Amazon S3 (Flash streamingの場合は必須) カスタマオリジンサーバはHTTP(S)が届けばどこでもよいエッジロケーションは30箇所以上
  35. 35. Apacheでの動的ページを設定してみる
  36. 36. たとえばこんなの
  37. 37. http://sp1.cedec.araki.net/smokeping/images/WorldRegions/NRT_last_10800.png
  38. 38. Cache-Controlヘッダをつける# a2enmod headers mod_headers モジュール# vi httpd.conf# /etc/init.d/apache2 reload mod_expires モジュール等おすきなものでどうぞ
  39. 39. デモ
  40. 40. CloudFrontを設定してみる
  41. 41. 2つ目のオリジン追加
  42. 42. CloudFrontをはじめるにあたって利用のメリット• 低レイテンシ レイテンシにもとづいてエンドユーザを誘導• 広帯域 ストリーミングメディアや大ファイルダウンロード• リライアブル 単一障害点なし。SLAあり。• スケーラブル 大規模な利用でも世界中のネットワークが利用可 能• グローバル 30のエッジロケーション• Cost-effective つかったぶんのお支払い。最低利用額なし。コ ミットなし。• 簡単 セルフサービスで開始可能。Webコンソール、サードパー ティツール、SDKあり。 57 Amazon Confidential

×