Awsmeister cloudfront20120611-slideshare用

7,286 views

Published on

Published in: Technology

Awsmeister cloudfront20120611-slideshare用

  1. 1. AWSマイスターシリーズ
~CloudFront ~  2012年6月11日  荒木 靖宏 (@ar1  )  プリンシパルソリューションアーキテクト  
  2. 2. 主要な仕様  RTMP  (Flash)  と  HTTP    /  HTTPS  コンテンツキャッシュ期限を0にも  Adap4ve  Bitrate  Streaming  Private  Content  Programma4c  Invalida4on   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の伸縮性(Elas:c) と従量課金モデル により解決     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  •  Adver:sing   11
  11. 11. 動的サイトにおけるCloudFront利用は 一部に限られていた   Dynamic  Content   www.mysite.com       Elas4c  Load   Amazon  EC2   Balancing  Your  Users   Sta4c  Content       Amazon  S3   Amazon  CloudFront   sta$c.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  Connec:ons   Elas4c  Load   Amazon  EC2   Balancing   Your  Users   Amazon  CloudFront   Sta4c  Content     www.mysite.com         CloudFront  から  Origin   動的/静的のコンテンツわけ   Amazon  S3  オリジンへのPersistent  connec:ons   経路のモニタリング   14  
  14. 14. Mul4ple  Cache  Behaviors  •  Query Stringsをオリジンに飛ばすかどうかなどを制御•  登録できる制御パターンは10まで。デフォルト値の設定も必要。 •  最初にマッチしたものが使われる 15
  15. 15. Mul4ple  Origin  Servers  •  複数のオリジンが使える。 •  S3 bucket, an ELB, an EC2 instance, a custom origin, etc.•  10オリジンまで. それぞれ”Origin ID”が付与される Amazon  Confiden:al   16
  16. 16. Minimum  Expira4on  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 Paris Hong KongJacksonville, FL OsakaLos Angeles, CA (2) Stockholm .. Singapore (2)Miami, FL TokyoNewark, NJNew York, NY (2)Palo Alto, CA South AmericaSeattle, WA Sao PauloSan Jose, CASouth Bend, INSt. Louis, MO.. 32のエッジロケーション(2012年5月末)   20  
  20. 20. CDNを使用しないときの動作Webサーバ
  21. 21. DNSとHTTP   example.com  DNS     ユーザ local  DNS     2 1 3 www.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/ EMLARXS993KSTG8.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. hap://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  Confiden:al  

×