Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS Black Belt Techシリーズ Amazon CloudFront

96,718 views

Published on

AWS Black Belt Tech Webinar 2014
(旧マイスターシリーズ)

Amazon CloudFront

Published in: Technology
  • Be the first to comment

AWS Black Belt Techシリーズ Amazon CloudFront

  1. 1. Amazon  CloudFront AWS  Black  Belt  Tech  Webinar  2014  (旧マイスターシリーズ) アマゾン  データ  サービス  ジャパン株式会社 ソリューションアーキテクト  北北迫  清訓 2014.12.17
  2. 2. Agenda 1.  Contents  Delivery  Network 2.  ⾼高速配信機能 3.  セキュリティ機能 4.  ストリーミング配信機能 5.  レポート  &  ロギング機能 6.  Pricing 7.  まとめ
  3. 3. Contents  Delivery  Network
  4. 4. Contents  Delivery  Network •  ⼤大規模なアクセスも世界中にあるエッジのキャパシティを 利利⽤用して効率率率的に配信可能なサービス –  ユーザからのアクセスを最も近いエッジサーバに誘導することでユーザへの 配信を⾼高速化 –  エッジサーバでは、コンテンツのキャッシングを⾏行行い、オリジンに負荷をかけ ず効率率率的に配信 オリジンサーバ Amazon CloudFront オリジンサーバ 台数の削減 レスポンス向上 負荷軽減 リクエスト 配信 リクエスト キャッシュから配信 キャッシュ コンテンツ取得 CDN クライアント
  5. 5. Contents  Delivery  Network •  最適なエッジへの誘導 オリジンサーバ Amazon CloudFront クライアント Internet 位置情報DB ①ドメイン名問い合わせ CloudFront DNS Edge Location ②IPアドレス問い合わせ   (xxx.cloudfront.net) ③最適なEdgeアドレス応答 ④最適なEdgeへアクセス ⑤キャッシュがなければ   オリジンから取得 DNSリゾルバ EDNS-‐‑‒Client-‐‑‒Subnet のサポートにより精度度 を向上
  6. 6. 現時点のエッジロケーション Europe   Amsterdam,  Netherlands(2)   Dublin,  Ireland   Frankfurt,  Germany    (3)   London,  England  (3)   Madrid,  Spain   Marseille,  France   Milan,  Italia   Paris,  France  (2)   Stockholm,  Sweden   Warsaw,  Poland       Asia   Chennai,  India   Hong  Kong,  China(2)   Mumbai,  India   Manila,  Philippines   Osaka,  Japan   Seoul,  Korea   Singapore  (2)   Taipei,  Taiwan   Tokyo,  Japan(2)   South  America   Sao  Paulo,  Brazil   Rio  de  Janeiro,  Brazil   North  America   Atlanta,  GA   Ashburn,  VA  (3)   Dallas,  TX  (2)   Hayward,  CA   Jacksonville,  FL   Los  Angeles,  CA(2)   Miami,  FL   New  York,  NY  (3)   Newark,  NJ   Palo  Alto,  CA     San  Jose,  CA   Seattle,  WA     South  Bend,  IN   St.  Louis,  MO     2014年年12⽉月時点 52  Edge  Locations   Australia   Melbourne,  Australia   Sydney,  Australia   最新のエッジロケーション情報  http://aws.amazon.com/jp/cloudfront/details/
  7. 7. Amazon  CloudFrontの特徴 •  ⾼高性能な分散配信 (世界52拠点のエッジサーバ)  ※2014年年12⽉月時点 •  ⾼高いパフォーマンス (業界トップクラスのパフォーマンス測定結果) •  キャパシティアクセスからの開放 (予測不不可能なスパイクアクセスへの対応) •  完全従量量課⾦金金 (初期費⽤用がなく安価かつスポットも利利⽤用可能) •  設定が容易易で即時利利⽤用が可能 (GUIからの設定で15分程度度でサービス利利⽤用開始可能)
  8. 8. CDNにおける従量量課⾦金金の優位性 CloudFront  Edge Edge  Capacity オリジンサーバ配信量量に対する 従量量課⾦金金 オリジンサーバ配信量量に対する 従量量課⾦金金 CloudFront  Edge 想定の難しいアクセス数対応への機会損失リスクと 従量量課⾦金金による無駄なコスト負担の回避 Edge  Capacity クライアント クライアント
  9. 9. 即時利利⽤用可能なCDNの優位性 オリジンサーバ 通常時 オリジンサーバ CloudFront  Edge Edge  Capacity イベント・キャンペーン時 イベントに合わせてスポットでCDNを活⽤用 DNSサービス (Route53) クライアント クライアント
  10. 10. ⾼高速配信機能
  11. 11. CloudFront  Distribution •  Distribution –  AWS  Management  ConsoleもしくはAPIで即時作成可能 –  WebもしくはRTMP  Distributionを選択可能 –  使⽤用量量が最⼤大1Gbpsもしくは1,000RPSを超える場合は上限緩和申請が必要 –  デフォルトでは「xxxx.cloudfront.net」がDistributionのドメイン名として 割り当てられる。 •  CNAMEエリアスを利利⽤用して独⾃自ドメイン名の指定も可能 •  CNAMEエリアスのワイルドカード指定もサポート  (例例:  *.example.comなど) •  Route53と組み合わせたZone  Apex  (例例:  example.comなど)が利利⽤用可能
  12. 12. CloudFront  Edge PROXY CACHE Web  Distribution •  サポートプロトコル/HTTPメソッド –  HTTP  /  HTTPS対応 •  GET,  HEAD,  OPTION(選択可能)  (Cacheモード) •  PUT,  POST,  DELETE,  OPTION,  PATCH  (Proxyモード) –  オリジンへのアクセス •  Internet経由でアクセスできることが必要 •  Range  GET対応 オリジンサーバ GET, HEAD, (OPTION) PUT, POST, DELETE, OPTION, PATCH PUT, POST, DELETE, OPTION, PATCH クライアント GET, HEAD, (OPTION)
  13. 13. キャッシュコントロール機能 •  キャッシュコントロール –  GET  /  HEAD  /  OPTION(選択可能)のリクエストが対象 –  単⼀一ファイルサイズのキャッシングは最⼤大20GBまで –  キャッシュ期間指定 •  オリジン側で、Cache  Controlヘッダー設定がなければデフォルト24時間 –  フォワードオプション機能による動的ページ配信  (Webのみ) •  Header  (None  /  Whitelist  /  All) •  Cookie  (None  /  Whitelist  /All) •  Query  Strings  (No  /  Yes) URLおよび有効化したフォーワードオプション機能のパラメー タ値の完全⼀一致でキャッシュが再利利⽤用される
  14. 14. キャッシュコントロール機能 •  キャッシュコントロールヘッダーの挙動 –  オリジン側のHTTPヘッダー設定と、CloudFront側でのMinimum  TTLの組み合わせで動作が変わる CloudFront  Minimum  TTL設定 Minimum  TTL  =  0 (デフォルト) Minimum  TTL  >0を設定 オリジンHTTPヘッダー Cache-‐‑‒Control  max-‐‑‒ageを 指定 指定されたmax-‐‑‒age期間 キャッシュ 指定されたmax-‐‑‒ageもしくはMinimum  TTLの⻑⾧長い ⽅方の期間キャッシュ Cache-‐‑‒Control設定なし 24時間キャッシュ 24時間もしくはMinimum  TTLの ⻑⾧長い⽅方の期間キャッシュ Cache-‐‑‒Control  max-‐‑‒ageと s-‐‑‒maxageを指定 指定されたs-‐‑‒maxage期間エッジにキャッシュ され、max-‐‑‒age期間ブラウザーにキャッシュ 指定されたs-‐‑‒maxageもしくはMinimum  TTLの⻑⾧長 い⽅方の期間エッジにキャッシュされ、max-‐‑‒age期間 ブラウザーにキャッシュ Expiresを指定 Expiresで指定された⽇日付までキャッシュ Expiresで指定された⽇日付とMinimum  TTLの期間を 加算した期間キャッシュ Cache-‐‑‒Control  no-‐‑‒cache,   no-‐‑‒storeを指定 キャッシュされない Minimum  TTLの期間キャッシュ ※HTML  MetaタグのHTTP  Cache-‐‑‒ControlもしくはProgmaが指定されていてもCloudFrontのキャッシュコントロールでは利利⽤用されない ※オリジンがS3の場合はMetadataにHTTPヘッダーを指定
  15. 15. キャッシュコントロール機能 •  キャッシュのInvalidation(無効化) –  無効化するコンテンツ個々のファイルパスを指定 –  同時に3つのInvalidation要求を実⾏行行可能 –  1回のInvalidation要求で最⼤大1,000オブジェクトパスを指定可能 –  AWS  Management  ConsoleもしくはAPIで実⾏行行可能 –  Invalidationの完了了は10-‐‑‒15分程度度 AWS  Management  ConsoleのInvalidation画⾯面 AWS SDK / CLI / API
  16. 16. ダイナミックコンテンツ機能 •  動的コンテンツキャッシュへの対応 –  オリジンサーバに対してHeader,  Cookie,  Query  Strings情報を フォワードすることで、動的なページの配信(キャッシング)に も対応 –  URLパス(Behavior)と組み合わせ、きめ細かなキャッシュコン トロールを実現 –  Whitelistを利利⽤用して、必要最低限のパラメータのみをフォワー ド設定することで、キャッシュを有効活⽤用することが重要
  17. 17. ダイナミックコンテンツ機能 •  フォワード  Header機能 –  オリジンに任意のヘッダー情報をフォワードすることで動的なページ⽣生成にも対応 –  全てのHeaderをフォワードするとキャッシュ効率率率が⼤大幅に低下するため必要最⼩小 限のヘッダーを指定することを推奨 –  カスタムヘッダーにも対応 –  CloudFront独⾃自ヘッダー •  CloudFront側でクライアントの情報を独⾃自に判定し、オリジンにフォワード Type Header 詳細 接続プロトコル判定 CloudFront-Forwarded-Proto HTTPもしくはHTTPSを設定 デバイス判定 CloudFront-‐‑‒Is-‐‑‒Mobile-‐‑‒Viewer CloudFront-‐‑‒Is-‐‑‒Tablet-‐‑‒Viewer CloudFront-‐‑‒Is-‐‑‒Desktop-‐‑‒Viewer User-‐‑‒Agentをもとに、クライアントデバイスの 情報をTrue/Falseで設定 地域判定 CloudFront-‐‑‒Viewer-‐‑‒Country クライアントのIPアドレスをもとに、地域コー ドを設定  (ISO-‐‑‒3166-‐‑‒1  alpha-‐‑‒2準拠)
  18. 18. ダイナミックコンテンツ機能 •  フォワード  Cookie機能 –  オリジンに任意のCookie情報をフォワードすることで動的なページ⽣生成にも対応 –  CloudFrontは指定されたCookie名と値をセットでキャッシュ –  全てのCookieをフォワードするとキャッシュ効率率率が⼤大幅に低下するため必要最⼩小限 のCookieを指定することを推奨 –  対象のCookie名はワイルドカードの指定も可能
  19. 19. ダイナミックキャッシング •  Behaviorsを活⽤用したマルチオリジンおよびキャッシュ コントロールの個別設定 –  クライアントからのリクエストパスパターンをもとに、キャッシュポリシーや オリジンへのアクセスルールの個別指定が可能 Behaviors  Path  Patternの記述⽅方法 •  「*」  0もしくはそれ以上の⽂文字列列 •  「?」  1⽂文字 例例)  /*.jpg,  /image/*,  /image/a*.jpg,  /a??.jpg img/* api/item* * Behavior  Cache  TTL (正規表現)http://www.aws.com/ オリジン Cache-control: no-cache, no-store クライアント img/item01.jpg api/item?id=10 index.jsp 動的ページは Custom  TTL 30  Days Custom  TTL 10  min Use  Origin S3
  20. 20. カスタムエラーページ •  カスタムエラーページ設定 –  オリジンからのエラーコードに対して、CloudFront側で指定した任意の エラーページを応答 •  エラーページのパスはドメインから指定ができないため、マルチオリジン設定 とパスパターンの組み合わせでS3などの別サーバからの取得 –  エラーのキャッシュ時間も指定可能 –  エラーコード毎にページやキャッシュ時間を設定 •  400,403,404,405,414,500,501,502,503,504 •  デフォルトは5分(300秒) –  CloudFrontからの応答を別のステータスコードに差し替えることも可能
  21. 21. カスタムエラーページ •  Amazon  S3と組み合わせた構成例例 Webサーバ側で 4XXエラー時のページ設定 5XXのカスタムエラー ページをS3に設定 (4XXはオプション) 5XX発⽣生時 (4XX発⽣生時) 4XX発⽣生時 CloudFront S3 オリジン Custom   Error  Page Custom   Error  Page Custom   Error  Page •  4XX系はCloudFront側ですべてをハンドリングしていない上、クライアント要求の エラーのため、オリジン側で対処 •  5XX系はオリジン側のエラーのため、CloudFront側で対処 クライアント
  22. 22. セキュリティ機能
  23. 23. セキュリティ機能 •  セキュア配信 –  HTTPS対応  (強制リダイレクト  /  HTTPSのみ許可) –  SSL証明書  (デフォルト  /  独⾃自証明書  /  SNI) –  GEOリストリクション  (Whitelist  /  Blacklist) –  署名付きURL  (有効期間指定) –  CloudTrailのサポート
  24. 24. サポートするSSL証明書 •  デフォルト証明書 –  cloudfront.netドメインのSSL証明書は標準で利利⽤用可能 •  独⾃自SSL証明書 –  X.509  PEM形式かつ認証チェーンが含まれること。鍵⻑⾧長は最⼤大2048bit –  CloudFrontにて別途SSL証明書の利利⽤用課⾦金金がされる –  様々な証明書タイプをサポート •  Domain  Validated,  Extend  Validated,  Wildcard,  Subject  Alternative  Name証明書  など •  SNI(Server  Name  Indication)独⾃自SSL証明書 –  CloudFrontの独⾃自SSL証明書費⽤用を負担すること無く独⾃自ドメインでのSSL通信 が可能 –  ⼀一部古いブラウザーはSNI拡張をサポートしていないため注意が必要 •  Windows  XPのIE,  Android  2.2デフォルト,  バージョン1.7以前のJavaブラウザなど
  25. 25. 独⾃自SSL証明書の利利⽤用 •  利利⽤用申請 –  証明書の利利⽤用には上限緩和申請が必要 •  利利⽤用⼿手順 1.  証明書機関で署名を受けた証明書をIAM  CLIを利利⽤用してアップロード 2.  CloudFrontのDistribution設定画⾯面にてアップロードした証明書を選 択 3.  証明書と同じCNAMEに設定 4.  SNIの有無を選択 5.  指定したCNAMEとDistribution作成時に⽣生成されるDomain名を紐紐付 けたレコードをDNSに登録
  26. 26. GEOリストリクション •  地域指定によるアクセス制御 –  接続されるクライアントの地域情報を元に、エッジでアクセス判定 –  BlacklistもしくはWhitelistで指定可能 –  Distribution全体に対して適⽤用される –  制限されたアクセスには403を応答 CloudFront  Edge 接続クライアントの 地域情報をもとに判定 クライアント GEO  Restriction有効 オリジンサーバ
  27. 27. 署名付きURL •  署名付きURLを利利⽤用したプライベートコンテンツ配信 –  有効にすることで、署名のないアクセスを全てブロック •  Behavior単位で指定可能 –  標準  (Canned  Policy) •  有効期間(時刻を秒単位指定) •  有効コンテンツパス –  オプション  (Custom  Policy) •  アクセス元IPアドレス制限 •  有効開始時刻指定 •  許可コンテンツのワイルドカード指定 CloudFront  Edge クライアント オリジンサーバ 認証サイト 認証リクエスト 署名付きURLで アクセス 署名付きURLなし 署名付きURLで⽣生成 CloudFront Private  Key
  28. 28. 署名付きURL •  署名付きURL –  WebおよびRTMP双⽅方に対応 •  Webの場合は有効期間を最⼩小化することを推奨 –  TCPコネクション確⽴立立中は対象コンテンツのダウンロードが可能 •  RTMPの場合は動画再⽣生時間以上の有効期間の設定が必要 –  権限のないアクセスには403を応答 –  URLの⽣生成 •  決められたフォーマットでQuery  Stringsにパラメータ値を設定 –  Canned  Policy:  http://xxxx.cloudfront.net/file.jpg?Expires=XXX&Signature=XXX&Key-‐‑‒Pair-‐‑‒Id=XXX –  Custom  Policy:  http://xxxx.cloudfront.net/file.jpg?Policy=XXX&Signature=XXX&Key-‐‑‒Pair-‐‑‒Id=XXX •  CloudFrontの秘密鍵を利利⽤用してSignatureのパラメータ⽂文字列列を署名 •  サンプルソースコード  (Perl  /  PHP  /  C#  +  .NET  Framework  /  Java) http://docs.aws.amazon.com/ja_̲jp/AmazonCloudFront/latest/DeveloperGuide/PrivateCFSignatureCodeAndExamples.html
  29. 29. 署名付きURL •  オリジンサーバの保護 –  オリジンがAmazon  S3の場合、Origin  Access  Identity(OAI)を利利⽤用 •  S3のBucketへのアクセスをCloudFrontからのみに制限 –  カスタムオリジンの場合、オリジン側のアドレスを公開しないとともに、 CloudFrontが利利⽤用するIPアドレスのみの許可させる •  CloudFrontが利利⽤用するIPアドレスは下記URLから取得可能     https://ip-‐‑‒ranges.amazonaws.com/ip-‐‑‒ranges.json •  JSONフォーマット –  Serviceキーの“CLOUDFRONT”でフィルタすることで抽出可能 CloudFront  Edge カスタムオリジンサーバ S3 クライアント OAI IP制限 クライアント ダイレクト アクセス
  30. 30. ストリーミング配信機能
  31. 31. ストリーミング配信機能 •  CloudFrontを活⽤用したストリーミング配信 –  配信規模に応じて多くのネットワーク帯域が必要となるストリーミングを 効率率率的に配信可能 –  ⼩小規模から⼤大規模配信まで柔軟に対応 –  対応可能な配信⽅方式 •  Amazon  S3をコンテンツストレージとしたオンデマンドストリーミング配信 •  ストリーミングサーバと連携したHTTPベースのストリーミング配信 (オンデマンド・ライブ双⽅方対応)
  32. 32. ストリーミング配信 •  Amazon  S3と連携したマネージドオンデマンドストリーミング配信 –  RTMP  (Flash  Media  Server) •  Distribution作成時にRTMPを選択 •  RTMP,  RTMPE,  RTMPT,  RTMPETをサポート –  Smooth  Streaming •  Distribution作成時にWebでSmooth  Streamingオプションを有効化 –  HLS  (Http  Live  Streaming) •  Distribution作成時にWebを選択 –  RTMPおよびSmooth  StreamingのコンテンツはS3に格納されている必要がある –  動画コンテンツもそれぞれのフォーマットで準備が必要(FLV,  MP4,  iSMV,  HLS) クライアント CloudFront  Edge S3 RTMP/RTMPE/ RTMPT/RTMPETFlash  Player  /   Silverlight  Player HTTP/HTTPS
  33. 33. ストリーミング配信 •  ストリーミングサーバと連携したHTTPベースのストリーミング配信 –  シングルコンテンツマルチユース –  オンデマンド・ライブ配信に対応 –  AWS  CloudFormationを利利⽤用した環境デプロイ⽤用テンプレートも提供 クライアント CloudFront  Edge EC2 Flash  Player  /   Silverlight  Player HTTP/HTTPS AWS  CloudFormation Template LIVE  
  34. 34. ストリーミング配信 •  CloudFormationテンプレート CloudFrontとAdobe  Media  Serverを利利⽤用したHTTPライブ配信 •  http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ LiveStreamingAdobeMediaServer5.0.html CloudFrontとIIS  Media  Serviceを利利⽤用したライブ  Smooth  Streaming配信 •  http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ IISLiveSmoothStreaming4.1.html CloudFrontとWowzaを利利⽤用したHTTPライブ配信 •  http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/live-‐‑‒streaming-‐‑‒ wowza.html
  35. 35. レポート  &  ロギング機能
  36. 36. CloudFront  Reports  &  Analytics •  Cache  Statistics –  キャッシュの利利⽤用状況 •  Monitoring  and  Alarming –  リアルタイムモニタリングと通知 •  Popular  Objects –  ⼈人気コンテンツの統計情報 •  Top  Referrers –  リファラーの統計情報 •  Usage –  リクエスト数およびデータ転送量量 •  Viewers –  クライアントデバイスの統計情報 Cache  Statistics  /  Popular  Objects  /   Top  Referrers  /  Usage  /  ViewersはAWS   Management  Consoleのみで参照可能
  37. 37. CloudFront  Reports  &  Analytics •  Cache  Statistics  /  Popular  Objects  /  Usage  /Top  Referrers  /  Viewers  に関 してはCloudFrontの利利⽤用状況における傾向分析として利利⽤用 –  直近60⽇日間のグラフが参照可能 –  1時間単位もしくは⽇日単位でのグラフ表⽰示 –  グラフへの反映までには3時間程度度Delay –  フィルタリング •  全DistributionもしくはDistribution単位 •  期間指定 •  エッジ地域 •  Monitoring  and  Alarmingはリアルタイムの利利⽤用状況の確認により、アクセス 状況のリアルタイム監視として利利⽤用 –  数分の遅延で利利⽤用状況を把握可能 –  Cloudwatchのアラート機能を利利⽤用し、突発的なアクセスやエラーレートの上昇の検知によ る通知が可能 –  3〜~5分程度度のDelayで検知
  38. 38. CloudFront  Reports  &  Analytics •  Cache  Statistics –  Total  Request •  全リクエスト数 –  Percentage  of  Viewer  Requests  by  Result  Type •  CacheのHit/Miss/Errorの割合 –  Bytes  Transferred  to  Viewers •  クライアントへの総データ転送容量量 •  Miss  Hitしたリクエストに対する総データ転送容量量 –  HTTP  Status  Codes •  2XX,  3XX,  4XX,  5XX毎の応答数 –  Percentage  of  GET  Requests  that  Didnʼ’t  Finish  Downloading •  ダウンロードを完了了出来なかったGETリクエストの割合
  39. 39. CloudFront  Reports  &  Analytics •  Usage –  Number  of  HTTP  Requests •  HTTPリクエスト数 –  Number  of  HTTPS  Requests •  HTTPSリクエスト数 –  Data  Transferred  over  HTTP •  HTTPによるクライアントおよびオリジンに対して送信したデータ転送容量量 –  Data  Transferred  over  HTTPS •  HTTPによるクライアントおよびオリジンに対して送信したデータ転送容量量 –  Data  Transferred  from  CloudFront  Edge  Location  to  Your  Users •  CloudFront  Edgeからクライアントに送信したデータ転送容量量 –  Data  Transferred  from  CloudFront  to  Your  Origin •  CloudFront  Edgeからオリジンに送信したデータ転送容量量
  40. 40. CloudFront  Reports  &  Analytics •  Popular  Objects –  Distribution毎のリクエスト数の多いTop  50コンテンツリスト •  Object •  Requests •  Hits,  Hit  %,  Misses •  Total  Bytes,  Bytes  From  Misses, •  Incomplete  Download,  Response  Code
  41. 41. CloudFront  Reports  &  Analytics •  Top  Referrers –  Distribution毎のリクエスト数の多いTop  25のリファラードメイン •  Referrersドメイン •  Request  Count •  Request  %
  42. 42. CloudFront  Reports  &  Analytics •  Viewers –  Distribution毎のクライアントデバイス情報 •  Browsers –  ブラウザー種別の⽐比率率率 –  ブラウザートレンド »  ⽇日単位でのブラウザー毎のリクエスト数 •  Operating  Systems –  OS種別の⽐比率率率 –  OSトレンド »  ⽇日単位でのOS毎のリクエスト数 •  Locations –  Locationトレンド »  ⽇日単位での地域毎のリクエスト数 –  Location毎の⽐比率率率  (Request  Count/Request%/Bytes)
  43. 43. CloudFront  Reports  &  Analytics •  Monitoring  and  Alarming –  Cloudwatchを利利⽤用するため、しきい値設定によるアラート連携も可能 –  CloudFrontのCloudwatchメトリックスはVirginiaリージョンに出⼒力力される –  メトリックス •  4xxErrorRate,  5xxErrorRate,  TotalErrorRate •  BytesDownloaded,  BytesUploaded •  Requests
  44. 44. Access  Log •  CloudFrontアクセスログ –  任意のS3  Bucketに出⼒力力可能 •  出⼒力力先Bucketのアクセス権設定に注意 –  アクセスログの出⼒力力はタイムラグあり 項⽬目 説明 date アクセス⽇日(UTC) time アクセス時間(UTC) x-‐‑‒edge-‐‑‒location エッジロケーションID sc-‐‑‒bytes 配信Byte数(ヘッダー含む) c-‐‑‒ip クライアントIPアドレス cs-‐‑‒method HTTPアクセスMethod cs-‐‑‒uri-‐‑‒stem リクエストURI sc-‐‑‒status レスポンスコード cs(Referer) リファラ cs(User-‐‑‒Agent) クライアントユーザエージェント 項⽬目 説明 cs-‐‑‒uri-‐‑‒query リクエストQuery  Strings cs(Cookie) リクエストCookieヘッダー x-‐‑‒edge-‐‑‒result-‐‑‒type Hit:キャッシュヒット RefreshHit:キャッシュがExpireされていた Miss:キャッシュミス LimitExceeded:  CloudFrontのリミットオーバ CapacityExceeeded:  エッジのキャパシティ不不⾜足 Error:クライアントもしくはオリジンによるエラー x-‐‑‒edge-‐‑‒request-‐‑‒id CloudFrontのリクエストID x-‐‑‒host-‐‑‒header リクエストHost  Header cs-‐‑‒protocol リクエストプロトコル(http  /  https) cs-‐‑‒bytes リクエストByte数(ヘッダー含む) time-‐‑‒taken CloudFrontエッジがリクエストを受けて、オリジンからLastByte を取得するまでにかかった秒数
  45. 45. Access  Log •  S3  Bucketへの出⼒力力速度度の改善 –  ⼤大半のログが1時間程度度でS3に出⼒力力が完了了可能 •  内部的にKinesisを導⼊入 –  1時間あたりで出⼒力力されるファイル数の削減 CloudFront  Edge Kinesis S3  Bucket
  46. 46. CloudFrontログ  &  レポート CloudFront クライアント S3 Management  Console アクセスログ アクセスや利利⽤用状況傾向の 確認及び分析 Cache  Statistics Popular  Objects Top  Referrers Usage Viewers Cloudwatch Monitoring  and  Alarming 障害/異異常検知や現状の利利⽤用確認 Access  Log 複雑なアクセスや利利⽤用傾向分析 詳細な障害分析 リアルタイム モニター レポーティング Redshift EMR
  47. 47. アーキテクチャ  &  TIPS
  48. 48. Amazon  CloudFrontの使いドコロ •  ⼤大⼩小問わずWebサイトのフロントキャッシュサーバとして Webサーバ 静的コンテンツ中⼼心のサイト CloudFront S3 クライアント CMS 静的ファイルに出⼒力力 フルマネージド Webサーバ 動的コンテンツ中⼼心のサイト CloudFront クライアント ⼀一部HeaderでのClient判定や、POSTなどの動的 ページも対応可能 Webサーバの機能(mod_̲rewriteなど)で静的ファイル のパスをCloudFront経由に強制書換え パッケージCMSの利利⽤用もしくは既存構成に⼤大きな変更更 が加えられない場合 静的ファイル パスの書換ページアクセス 静的ページ取得 静的ページのみ キャッシュ キャッシュ
  49. 49. Amazon  CloudFrontの使いドコロ •  ⼤大⼩小問わずWebサイトのフロントキャッシュサーバとして Webサーバ ⼤大容量量のコンテンツを扱うサイト CloudFront クライアント 静的コンテンツストレージとしてS3を活⽤用 動的ページアクセス 静的コンテンツ取得 静的コンテンツ キャッシュ S3 CMS AWS  CLI  /  SDKを利利⽤用して ファイル転送やディレクトリ 同期
  50. 50. Amazon  CloudFrontの使いドコロ •  ⼤大⼩小問わず動画配信サイトのフロントキャッシュサーバとして オンデマンド動画配信プラットフォーム CloudFront S3 クライアント フルマネージド動画配信プラットフォーム Elastic  Transcoder Flash  (RTMP/RTMPE/RTMPT/RTMPET) HTTP  Live  Streaming  (HLS) Smooth  Streaming 動画フォーマット変換 ストリーミング配信 キャッシング
  51. 51. Amazon  CloudFrontの使いドコロ •  ⼤大⼩小問わず動画配信サイトのフロントキャッシュサーバとして ライブ動画配信プラットフォーム CloudFront クライアント マルチデバイスHTTPライブ配信 Flash  (RTMP/RTMPE/RTMPT/RTMPET) HTTP  Live  Streaming  (HLS) Smooth  Streaming 映像送信 ライブ配信配信 配信 AWS  Cloud  Forma2on   Template   LiveEncoder   LIVE   Internet   ライブ配信サーバ EC2 ⼀一括デプロイ
  52. 52. DNS名前解決の⾼高速化 •  Route  53と連携したDNS  Lookupの⾼高速化 –  CloudFrontのAlternative  Domain  NameをRoute53を利利⽤用して名 前解決する際は、レコードセットTypeをCNAMEではなくAレコー ドのAlias設定することでクエリの回数が削減 > nslookup cdn.awssummit.co.jp Server: 192.168.2.1 Address: 192.168.2.1#53 Non-authoritative answer: cdn.awssumit.co.jp canonical name = dxxxx.cloudfront.net. Name: dXxxx.cloudfront.net Address: 54.230.234.XXX Name: dXXXX.cloudfront.net Address: 54.230.234.XXX : CNAME A  Record  +  Alias cdn .awssummit.co.jp. > Nslookup cdn.awssummit.co.jp Server: 192.168.2.1 Address: 192.168.2.1#53 Non-authoritative answer: Name: cdn.awssumit.co.jp Address: 54.230.234.XXX Name: cdn.awssumit.co.jp Address: 54.230.234.XXX Name: cdn.awssumit.co.jp Address: 54.230.235.XXX :
  53. 53. リアルタム障害/異異常検知 •  Cloudwatch  Alarmの活⽤用 –  Requestメトリックス •  上限値アラーム設定による突発的なアクセス検知 •  下限値アラーム設定によるアクセス障害検知 –  TotalErrorRateメトリックス •  上限値アラーム設定によるオリジンエラー障害検知
  54. 54. Pricing
  55. 55. CloudFront  プライスモデル ①データ転送アウト ②リクエスト ③独⾃自SSL証明書 EC2 S3オンプレ 2014年年12⽉月時点 ④オリジンへのデータ転送アウト ⑥無効リクエスト ⽶米国 ヨーロッパ ⾹香港、韓国、シン ガポール、台湾 ⽇日本 南⽶米 オーストラ リア インド 予約容量量の 価格 最初の10TB/⽉月 $0.0.85 $0.085 $0.140 $0.140 $0.250 $0.140 $0.170 問い合わせ 次の40TB/⽉月 $0.080 $0.080 $0.135 $0.135 $0.200 $0.135 $0.130 問い合わせ 次の100TB/⽉月 $0.060 $0.060 $0.120 $0.120 $0.180 $0.120 $0.110 問い合わせ 次の350TB/⽉月 $0.040 $0.040 $0.100 $0.100 $0.160 $0.100 $0.100 問い合わせ 次の524TB/⽉月 $0.030 $0.030 $0.080 $0.080 $0.140 $0.095 問い合わせ 問い合わせ 次の4PB/⽉月 $0.025 $0.025 $0.070 $0.070 $0.130 $0.090 問い合わせ 問い合わせ 次の5PB/⽉月以上 $0.020 $0.020 $0.060 $0.060 $0.125 $0.085 問い合わせ 問い合わせ ⽶米国 ヨーロッパ ⾹香港、韓国、シン ガポール、台湾 ⽇日本 南⽶米 オーストラリ ア インド 予約容量量の 価格 HTTPリクエスト $0.0075 $0.0090 $0.0090 $0.0090 $0.0160 $0.0090 $0.0090 問い合わせ HTTPSリクエスト $0.0100 $0.0120 $0.0120 $0.0120 $0.0220 $0.0125 $0.0120 問い合わせ ②リクエスト(10,000件あたり) ③独⾃自SSL証明書 Distributionに関連付けられた証明書1通につき、⽉月$600  ※SNIの場合は不不要 ⽶米国 ヨーロッパ ⾹香港、韓国、シン ガポール、台湾 ⽇日本 南⽶米 オーストラリ ア インド 予約容量量の 価格 All  Data  Transfer $0.020 $0.020 $0.060 $0.060 $0.125 $0.100 $0.160 問い合わせ ④オリジンへのデータ転送アウト(GBあたり) ⑥無効リクエスト 最初の1,000ファイルまで追加料料⾦金金なし。それ以上はリクエスト毎に$0.005 ⑤データ転送アウト ⑤  CloudFrontへのデータ転送アウト(GBあたり) 別のAWSリージョンまたはAmazon  CloudFront、$0.000 ①データ転送アウト(GBあたり)
  56. 56. CloudFront  Price  Class •  Price  Classを指定することで、安価なエッジロケーション のみを利利⽤用した配信が可能 –  Price  Classの変更更により、ユーザへの配信速度度に影響が出る可能性があるため利利⽤用の 際は注意が必要
  57. 57. Free  Tier •  AWS無料料枠 –  サインアップから1年年間 –  50GB/⽉月のデータ転送アウト –  2万件/⽉月のHTTPおよびHTTPSリクエスト 検証などで是⾮非ご活⽤用ください
  58. 58. まとめ
  59. 59. まとめ •  CloudFrontを活⽤用することで –  簡単にサイトの⾼高速化とスケーラビリティを実現可能 –  動的コンテンツへの対応も可能 –  プレミアムコンテンツもセキュアに配信 –  レポート機能でアクセス傾向分析も可能 –  いつでも、すぐに利利⽤用できるCDNサービス
  60. 60. Appendix •  参考資料料 –  Amazon  CloudFront  Developer  Guide http://docs.aws.amazon.com/ja_̲jp/AmazonCloudFront/latest/DeveloperGuide/ Introduction.html –  Amazon  CloudFront  FAQ http://aws.amazon.com/jp/cloudfront/faqs/ –  Amazon  CloudFront  Pricing http://aws.amazon.com/jp/cloudfront/pricing/

×