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.

20140906 jaws festa 2014 cloud front+route53

879 views

Published on

Published in: Internet
  • Be the first to comment

20140906 jaws festa 2014 cloud front+route53

  1. 1. CloudFront + Route53 ~俺たちエッジロケーションズ!~ サイト制作に関わる方にこそご参加頂きたいセッションです。 落ちる、待たせるウェブサイトとは今日でさよなら! ウェブサイトやストリーミング配信が複雑で高額なシステムを使わずにすぐに構築できるAWSのコンテンツ配信サービス (Amazon CloudFront)を使い始めるのに難しい知識は必要ありません。 さぁみんなで、俺たちエッジロケーションズ!
  2. 2. 自己紹介 渡部卓央 株式会社アフォーダンス代表取締役 技術士(情報工学部門) JAWS-UG札幌会長 @takuowatanabe facebook.com/watanabetakuo copyright Affordance Corp. 2
  3. 3. CloudFront はじめに copyright Affordance Corp. 3
  4. 4. 利用シーン アクセス 集中 copyright Affordance Corp. 4 テレビで取り上げられた サイトダウン!!
  5. 5. 待たせる配信 CDNを使用しないとき Web サーバ copyright Affordance Corp. 5 エンドユーザ エンドユーザ エンドユーザ
  6. 6. 待たせない配信 CloudFrontを使用したとき copyright Affordance Corp. 6 エンドユーザ エンドユーザ エンドユーザ 様々なIPアドレスが使用される
  7. 7. CDN(Contents Delivery Network) • ユーザからのアクセスを近いエッジサーバに誘導することで、ユーザへ の配信を高速化 • エッジサーバでは、コンテンツのキャッシングを行い、オリジンサーバ に負荷をかけず効率的に配信 エッジ サーバ copyright Affordance Corp. 7 ユーザ オリジン サーバ (1) 最適なエッジ にリクエスト レスポン ス向上 負荷軽減 (2) キャッシュを 配信 (5) 取得したコンテ ンツを配信し キャッシュ (3) エッジにキャッシュ がなければオリジン にリクエスト (4) エッジにコン テンツを配信
  8. 8. CloudFrontの動作 Cloudfront.net DNS copyright Affordance Corp. 8 ユーザ DNSサーバ CloudFront DNS 地理情報 オリジン サーバ CloudFront Edge CloudFront Edge CloudFront Edge (1) CFの名前解決 xxx.cloudfront.net (2) IPアドレス問い合わせ (3) 最適なEdgeアドレス の応答 (4) 最適なEdge にアクセス (5) キャッシュがなけれ ばオリジンから取得
  9. 9. エッジロケーション 南米 サンパウロ(ブラジル) リオデジャネイロ(ブラジル) copyright Affordance Corp. 9 世界52ヶ所 2014年7月現在 アメリカ ジョージア州アトランタ バージニア州アッシュバーン(3) テキサス州ダラス/フォートワース(2) カリフォルニア州ヘイワード フロリダ州ジャクソンビル カリフォルニア州ロサンゼルス(2) フロリダ州マイアミ ニューヨーク州ニューヨーク(3) ニュージャージー州ニューアーク カリフォルニア州パロアルト カリフォルニア州サンノゼ ワシントン州シアトル インディアナ州サウスベンド ミズーリ州セントルイス ヨーロッパ アムステルダム(オランダ)(2) ダブリン(アイルランド) フランクフルト(ドイツ)(3) ロンドン(英国)(3) マドリード(スペイン) マルセイユ(フランス) ミラノ(イタリア) パリ(フランス)(2) ストックホルム(スウェーデン) ワルシャワ(ポーランド) アジア チェンナイ(インド) 香港(中国)(2) ムンバイ(インド) マニラ(フィリピン) 大阪(日本) ソウル(韓国) シンガポール(2) 台北(台湾) 東京(日本)(2) オーストラリア シドニー(オーストラリア) メルボルン(オーストラリア)
  10. 10. CloudFrontの特徴 • 高性能な分散配信 • 世界52拠点のエッジサーバ ※2014年7月現在 • 高いパフォーマンス • 業界トップクラスのパフォーマンス 測定結果 • レイテンシにもとづいてエンドユー ザを誘導 • 信頼性 • 単一障害点なし • SLA 99.9%以上 • キャパシティプランからの解放 • 予測不可能なスパイクアクセスも CloudFrontがカバー • 完全従量課金 • 初期費用なし • 安価かつスポットも利用可能 • 設定が容易で即時利用可能 • GUIからの設定で15分程度でサービ ス利用開始可能 copyright Affordance Corp. 10
  11. 11. 料金 (1) データ転送 アウト (2) リクエスト CloudFront (3) 専用IP独自 SSL証明書 (4) オリジンへ のデータ転 送アウト オンプレ (3)専用IP独自SSL証明書Desitributionに関連付けられた証明書1通につき$600/月 copyright Affordance Corp. 11 (1)データ転送アウト (GB単位) 米国 ヨーロッ パ 香港、フィリ ピン、韓国、 シンガポール および台湾 日本南米 オースト ラリア インド 最初の10 TB/月$0.12 $0.12 $0.19 $0.19 $0.25 $0.19 $0.17 次の40 TB/ 月$0.08 $0.08 $0.14 $0.14 $0.20 $0.14 $0.13 次の100 TB/月$0.06 $0.06 $0.12 $0.12 $0.18 $0.12 $0.11 次の350 TB/月$0.04 $0.04 $0.10 $0.10 $0.16 $0.10 $0.10 次の524 TB/月$0.03 $0.03 $0.08 $0.08 $0.14 $0.10 お問合せ 次の4 PB/月$0.03 $0.03 $0.07 $0.07 $0.13 $0.09 お問合せ 5 PB/月以上$0.02 $0.02 $0.06 $0.06 $0.13 $0.09 お問合せ (2)リクエスト (10,000件あたり) 米国 ヨーロッ パ 香港、フィリ ピン、韓国、 シンガポール および台湾 日本南米 オースト ラリア インド HTTP リクエスト$0.0075 $0.0090 $0.0090 $0.009 $0.0160 $0.009 $0.0090 HTTPS リクエスト$0.0100 $0.0120 $0.0120 $0.0120 $0.0220 $0.0125 $0.012 (4)オリジンへの データ転送アウト (GB単位) 米国 ヨーロッ パ 香港、フィリ ピン、韓国、 シンガポール および台湾 日本南米 オースト ラリア インド すべてのデータ転送$0.02 $0.02 $0.06 $0.06 $0.13 $0.10 $0.16 (5)無効リクエスト 1000ファイルまで追加料金なし 1001ファイル以上$0.005/1ファイル 2014年7月現在
  12. 12. CloudFront 代表的な機能 copyright Affordance Corp. 12
  13. 13. キャッシュコントロール • キャッシュ時間 • デフォルト24時間キャッシュ • 最短1時間キャッシュ • 単一ファイルの最大サイズは20GBまで • キャッシュ有無や期間指定 • HTTPヘッダ(Cache-Control、Expires)とMinimum TTLを指定 CloudFront Minimum TTL設定 Minimum TTL=0(デフォルト) Minimum TTL>0 copyright Affordance Corp. 13 オ リ ジ ン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の期間キャッシュ
  14. 14. マルチオリジン • BehaviorsのPath Pattern(正規表現)を利用したオリジンの振り分け • 記述方法/ *:0もしくはそれ以上の文字列?:1文字 • オリジンはDistributionごとに10個まで登録可能 • 振り分けルール(Behaviors)もDistributionごとに10個まで登録可能 • Behaviorsごとにキャッシュポリシーやオリジンへのアクセスルールが指 定可能 copyright Affordance Corp. 15 Webサーバー クライアント CloudFront S3 EC2 /image/ /site1/ /site2/
  15. 15. カスタムエラー • HTTPステータスコードごとにエ ラーレスポンスを作成可能 • エラーのキャッシュ時間(オリジンへ の再取得要求時間)が指定可能 • 応答ページのステータスコード を変更可能 HTTP Status Code information Client Error 400 Bad Request 403 Forbidden 404 Not Found 405 Method Not Allowed 414 Request-URI Too Long Server Error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavaliable 504 Gateway Timeout copyright Affordance Corp. 16
  16. 16. ロギング • 任意のS3 Bucketに出力可能 • 出力先Bucketのアクセス権設定(FULL_CONTROL)に注意 • アクセスログの出力はタイムラグあり • ログを取得しないことも可能 • アクセスログ作成の追加料金なし。S3の料金のみ必要 • ログファイルの形式 • 1つのエンドユーザーリスエストの詳細を1エントリとして記録 • ウェブディストリビューション、RTMPディストリビューションのログファイルは別の 内容 • W3C拡張ログファイル形式で出力 • タブ区切りの値が含まれる • レコードは時系列というわけではない • 標準外の文字はエンコードされる copyright Affordance Corp. 17
  17. 17. Route53 はじめに copyright Affordance Corp. 18
  18. 18. DNS問い合わせ Route53を使用しないとき DNS サーバ copyright Affordance Corp. 19 エンドユーザ エンドユーザ エンドユーザ エンドユーザ
  19. 19. DNS問い合わせ Route53を使用したとき エンドユーザ copyright Affordance Corp. 20 エンドユーザ エンドユーザ エンドユーザ Anycast IPアドレスが使用される 同じIPアドレスでも近いサーバにつながる
  20. 20. エッジロケーション 南米 サンパウロ(ブラジル) リオデジャネイロ(ブラジル) copyright Affordance Corp. 21 世界52ヶ所 2014年7月現在 アメリカ ジョージア州アトランタ バージニア州アッシュバーン(3) テキサス州ダラス/フォートワース(2) カリフォルニア州ヘイワード フロリダ州ジャクソンビル カリフォルニア州ロサンゼルス(2) フロリダ州マイアミ ニューヨーク州ニューヨーク(3) ニュージャージー州ニューアーク カリフォルニア州パロアルト カリフォルニア州サンノゼ ワシントン州シアトル インディアナ州サウスベンド ミズーリ州セントルイス ヨーロッパ アムステルダム(オランダ)(2) ダブリン(アイルランド) フランクフルト(ドイツ)(3) ロンドン(英国)(3) マドリード(スペイン) マルセイユ(フランス) ミラノ(イタリア) パリ(フランス)(2) ストックホルム(スウェーデン) ワルシャワ(ポーランド) アジア チェンナイ(インド) 香港(中国)(2) ムンバイ(インド) マニラ(フィリピン) 大阪(日本) ソウル(韓国) シンガポール(2) 台北(台湾) 東京(日本)(2) オーストラリア シドニー(オーストラリア) メルボルン(オーストラリア)
  21. 21. Route53の特徴 • 高可用性および高信頼性 • SLA 100% • 冗長化されたロケーション • 世界52拠点のエッジサーバ※2014年 7月現在 • 高速伝搬 • 全世界で動作するAnycastネットワー ク • 変更の高速伝搬 • AWSサービスとの統合 • ELBエイリアス • CloudFrontディストリビューション • S3ウェブサイトバケットへのマッピン グ • レイテンシベースルーティング • 安価 • クエリ数に対応した料金 • 柔軟性 • 加重ランドロビン copyright Affordance Corp. 22
  22. 22. サポートするレコードタイプ A Address record アドレスレコード AAAA IPv6 address record IPv6アドレスレコード CNAME Canonical name record 正規名レコード MX Mail exchange record メール交換レコード NS Name server record ネームサーバーレコード PTR Pointer record ポインターレコード SOA Start of authority record 管理情報の始点レコード SPF Sender policy framework センダーポリシーフレームワーク SRV Service locator サービスロケーター TXT Text record テキストレコード エイリアスレコードELBマッピング、CloudFrontディストリビューションマッピング、S3バケット copyright Affordance Corp. 23 マッピング
  23. 23. 料金 copyright Affordance Corp. 24 (1)ホストゾーンあたり 最初の25ホストゾーン$0.50/ホストゾーン それを超えるホストゾーン$0.10/ホストゾーン (2)クエリ最初の10億クエリまで最初の10億クエリを超える 標準的クエリ$0.500/100万クエリ$0.250/100万クエリ レイテンシーベースルーティングクエリ$0.750/100万クエリ$0.375/100万クエリ エイリアスレコードへのクエリ無料 (3)DNSフェイルオーバーのヘルスチェック 基本ヘルスチェック AWS内部エンドポイント$0.500/ヘルスチェック1件 AWS以外のエンドポイント$0.750/ヘルスチェック1件 HTTPS、文字列マッチング、または短インターバルオプション AWS内部エンドポイント$1.00/オプション機能1件 AWS以外のエンドポイント$2.00/オプション機能1件 2014年7月現在
  24. 24. 落ちない 待たせない ウェブサイト を作ろう! copyright Affordance Corp. 25
  25. 25. ウェブサイトを作る copyright Affordance Corp. 26
  26. 26. パターン1:ウェブサイトを作る ページ全体を簡単に高速化 Webサーバー copyright Affordance Corp. 27 クライアント CloudFront Route53 静的ページ中心のWebサイトの例 • POST対応により簡易的な動的ページはCloudFront経由で配信
  27. 27. パターン2:ウェブサイトを作る ページの大半を占める静的 ファイルを高速配信 css js jpg Webサーバー CloudFront クライアント</> 動的ページ中心のWebサイトの例 • 静的ファイルのパスをCloudFront経由に変更 • Webサーバーの機能(mod_rewriteなど)で静的ファイルのパスを CloudFront経由に強制書き換え copyright Affordance Corp. 28 Route53
  28. 28. パターン3:ウェブサイトを作る css js jpg Webサーバー 動的ページ中心に大量の静的コンテンツを扱うのWebサイトの例 • S3と連携することで、手間のかからないスケーラブルなコンテ ンツ配信インフラを実現 copyright Affordance Corp. 29 クライアント CloudFront 高速化とスケーラビリティ の確保 画像配信サーバー S3 mpg mp3 OR </> Route53
  29. 29. パターン4:ウェブサイトを作る Webサーバー パスによりオリジンを変更するWebサイトの例 • 静的コンテンツはS3と連携し、動的コンテンツのsite1はEC2、 site2はオンプレと連携することで、負荷分散を実現 • マルチオリジン機能を使用 copyright Affordance Corp. 30 クライアント CloudFront 高速化と負荷分散 S3 EC2 /image/ /site1/ /site2/ Route53
  30. 30. ストリーミン グ配信しよ う! copyright Affordance Corp. 31
  31. 31. CloudFrontを活用したストリーミング配信 • ストリーミング配信を効率的に配信可能 • 配信規模に応じてネットワーク帯域を気にしなくてよい • 小規模配信から大規模配信まで柔軟に対応 • 対応可能な配信方式 • S3と組み合わせたオンデマンドストリーミング配信 • HTTPベースのストリーミング配信(オンデマンド・ライブ) copyright Affordance Corp. 32
  32. 32. S3と組み合わせた オンデマンドストリーミング配信 • Distribution作成時に「Streaming」を指定 • CloudFrontにセットアップされているFlash Media Server(FMS)を利用し て配信 • RTMP、RTMPE、RTMPT、RTMPTEプロトコルをサポート • CloudFront上のclossdomain.xmlはすべてのドメインからのアクセスを許可 • ストリーミング配信のため、クライアント側に映像ファイルが残らない • コンテンツはS3に格納されている必要がある copyright Affordance Corp. 33 クライアント Flash Player CloudFront S3 RTMP PlayerからのリクエストURL rtmp://xxx.cloudfront.net/cfx/st/xxx.fv
  33. 33. HTTPベースのストリーミング配信 • Distribution作成時に「Download」を指定 • 複数の配信方式をサポート • HTTP Live Streaming(HLS)、HTTP Dynamic Streaming(HDS)、IIS Smooth Streaming、Progressive Downloadなどの配信方式 • オンデマンド、ライブ双方で利用可能 • マルチデバイスへの配信が可能 • 自前でオリジンのストリーミングサーバを構築しなくてよい • CloudFormationライブ配信環境テンプレートあり CloudFront EC2 S3 HTTP HTTP copyright Affordance Corp. 34 クライアント
  34. 34. CloudFront 作ってみよう (WebサイトをCDN化する) copyright Affordance Corp. 35
  35. 35. ステップ1 Distribution作成開始 copyright Affordance Corp. 36
  36. 36. ステップ2 ディストリビューションの種類選択 copyright Affordance Corp. 37
  37. 37. ステップ3 ディストリビューション設定 copyright Affordance Corp. 38
  38. 38. ステップ3-1(設定詳細) オリジンサーバー設定 copyright Affordance Corp. 39
  39. 39. ステップ3-2(詳細設定) キャッシュ設定 copyright Affordance Corp. 40
  40. 40. ステップ3-3(詳細設定) ディストリビューション設定 copyright Affordance Corp. 41
  41. 41. ステップ3-4(詳細設定) ログ設定 copyright Affordance Corp. 42
  42. 42. ステップ4 ディストリビューション配備 約10分 copyright Affordance Corp. 43
  43. 43. ステップ5 ディストリビューション詳細情報 copyright Affordance Corp. 44
  44. 44. ステップ6 CNAME設定 copyright Affordance Corp. 45
  45. 45. パフォーマンス検証サイト copyright Affordance Corp. 46
  46. 46. パフォーマンス測定1 ■ CloudFront 無し ■ CloudFront 有り copyright Affordance Corp. 47
  47. 47. CloudFrontは 早い、安い、簡単。 さあ、始めてみましょう! copyright Affordance Corp. 48

×