COLLECTED BY
Organization:
Internet Archive
The Internet Archive discovers and captures web pages through many different web crawls.
At any given time several distinct crawls are running, some for months, and some every day or longer.
View the web archive through the
Wayback Machine .
The seed for this crawl was a list of every host in the Wayback Machine
This crawl was run at a level 1 (URLs including their embeds, plus the URLs of all outbound links including their embeds)
The WARC files associated with this crawl are not currently available to the general public.
The Wayback Machine - https://web.archive.org/web/20160120124110/http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-cloudfront
AWS Black Belt Techシリーズ Amazon CloudFront
Like this presentation? Why not share!
AWS Black Belt Techシリーズ Amazon CloudFront
16,205
-1
0
0
0
Published on Dec 19, 2014
AWS Black Belt Tech Webinar 2014
(旧マイスターシリーズ)
Amazon CloudFront
...
1.
Amazon CloudFront
AWS Black Belt Tech Webinar 2014 (旧マイスターシリーズ)
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 北北迫 清訓
2014.12.17
2.
Agenda
1. Contents Delivery Network
2. ⾼高速配信機能
3. セキュリティ機能
4. ストリーミング配信機能
5. レポート & ロギング機能
6. Pricing
7. まとめ
3.
Contents Delivery Network
4.
Contents Delivery Network
• ⼤大規模なアクセスも世界中にあるエッジのキャパシティを
利利⽤用して効率率率的に配信可能なサービス
– ユーザからのアクセスを最も近いエッジサーバに誘導することでユーザへの
配信を⾼高速化
– エッジサーバでは、コンテンツのキャッシングを⾏行行い、オリジンに負荷をかけ
ず効率率率的に配信
オリジンサーバ
Amazon CloudFront
オリジンサーバ
台数の削減
レスポンス向上 負荷軽減
リクエスト
配信
リクエスト
キャッシュから配信 キャッシュ
コンテンツ取得
CDN
クライアント
5.
Contents Delivery Network
• 最適なエッジへの誘導
オリジンサーバ
Amazon CloudFront
クライアント
Internet
位置情報DB
①ドメイン名問い合わせ
CloudFront DNS
Edge Location
②IPアドレス問い合わせ
(xxx.cloudfront.net)
③最適なEdgeアドレス応答
④最適なEdgeへアクセス
⑤キャッシュがなければ
オリジンから取得
DNSリゾルバ
EDNS-‐‑‒Client-‐‑‒Subnet
のサポートにより精度度
を向上
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.
Amazon CloudFrontの特徴
• ⾼高性能な分散配信
(世界52拠点のエッジサーバ) ※2014年年12⽉月時点
• ⾼高いパフォーマンス
(業界トップクラスのパフォーマンス測定結果)
• キャパシティアクセスからの開放
(予測不不可能なスパイクアクセスへの対応)
• 完全従量量課⾦金金
(初期費⽤用がなく安価かつスポットも利利⽤用可能)
• 設定が容易易で即時利利⽤用が可能
(GUIからの設定で15分程度度でサービス利利⽤用開始可能)
8.
CDNにおける従量量課⾦金金の優位性
CloudFront Edge
Edge Capacity
オリジンサーバ配信量量に対する
従量量課⾦金金
オリジンサーバ配信量量に対する
従量量課⾦金金
CloudFront Edge
想定の難しいアクセス数対応への機会損失リスクと
従量量課⾦金金による無駄なコスト負担の回避
Edge Capacity
クライアント
クライアント
9.
即時利利⽤用可能なCDNの優位性
オリジンサーバ
通常時
オリジンサーバ
CloudFront Edge
Edge Capacity
イベント・キャンペーン時
イベントに合わせてスポットでCDNを活⽤用
DNSサービス
(Route53)
クライアント
クライアント
10.
⾼高速配信機能
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.
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.
キャッシュコントロール機能
• キャッシュコントロール
– GET / HEAD / OPTION(選択可能)のリクエストが対象
– 単⼀一ファイルサイズのキャッシングは最⼤大20GBまで
– キャッシュ期間指定
• オリジン側で、Cache Controlヘッダー設定がなければデフォルト24時間
– フォワードオプション機能による動的ページ配信 (Webのみ)
• Header (None / Whitelist / All)
• Cookie (None / Whitelist /All)
• Query Strings (No / Yes)
URLおよび有効化したフォーワードオプション機能のパラメー
タ値の完全⼀一致でキャッシュが再利利⽤用される
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.
キャッシュコントロール機能
• キャッシュのInvalidation(無効化)
– 無効化するコンテンツ個々のファイルパスを指定
– 同時に3つのInvalidation要求を実⾏行行可能
– 1回のInvalidation要求で最⼤大1,000オブジェクトパスを指定可能
– AWS Management ConsoleもしくはAPIで実⾏行行可能
– Invalidationの完了了は10-‐‑‒15分程度度
AWS Management ConsoleのInvalidation画⾯面
AWS SDK / CLI / API
16.
ダイナミックコンテンツ機能
• 動的コンテンツキャッシュへの対応
– オリジンサーバに対してHeader, Cookie, Query Strings情報を
フォワードすることで、動的なページの配信(キャッシング)に
も対応
– URLパス(Behavior)と組み合わせ、きめ細かなキャッシュコン
トロールを実現
– Whitelistを利利⽤用して、必要最低限のパラメータのみをフォワー
ド設定することで、キャッシュを有効活⽤用することが重要
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.
ダイナミックコンテンツ機能
• フォワード Cookie機能
– オリジンに任意のCookie情報をフォワードすることで動的なページ⽣生成にも対応
– CloudFrontは指定されたCookie名と値をセットでキャッシュ
– 全てのCookieをフォワードするとキャッシュ効率率率が⼤大幅に低下するため必要最⼩小限
のCookieを指定することを推奨
– 対象のCookie名はワイルドカードの指定も可能
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.
カスタムエラーページ
• カスタムエラーページ設定
– オリジンからのエラーコードに対して、CloudFront側で指定した任意の
エラーページを応答
• エラーページのパスはドメインから指定ができないため、マルチオリジン設定
とパスパターンの組み合わせでS3などの別サーバからの取得
– エラーのキャッシュ時間も指定可能
– エラーコード毎にページやキャッシュ時間を設定
• 400,403,404,405,414,500,501,502,503,504
• デフォルトは5分(300秒)
– CloudFrontからの応答を別のステータスコードに差し替えることも可能
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.
セキュリティ機能
23.
セキュリティ機能
• セキュア配信
– HTTPS対応 (強制リダイレクト / HTTPSのみ許可)
– SSL証明書 (デフォルト / 独⾃自証明書 / SNI)
– GEOリストリクション (Whitelist / Blacklist)
– 署名付きURL (有効期間指定)
– CloudTrailのサポート
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.
独⾃自SSL証明書の利利⽤用
• 利利⽤用申請
– 証明書の利利⽤用には上限緩和申請が必要
• 利利⽤用⼿手順
1. 証明書機関で署名を受けた証明書をIAM CLIを利利⽤用してアップロード
2. CloudFrontのDistribution設定画⾯面にてアップロードした証明書を選
択
3. 証明書と同じCNAMEに設定
4. SNIの有無を選択
5. 指定したCNAMEとDistribution作成時に⽣生成されるDomain名を紐紐付
けたレコードをDNSに登録
26.
GEOリストリクション
• 地域指定によるアクセス制御
– 接続されるクライアントの地域情報を元に、エッジでアクセス判定
– BlacklistもしくはWhitelistで指定可能
– Distribution全体に対して適⽤用される
– 制限されたアクセスには403を応答
CloudFront Edge
接続クライアントの
地域情報をもとに判定
クライアント
GEO Restriction有効
オリジンサーバ
27.
署名付きURL
• 署名付きURLを利利⽤用したプライベートコンテンツ配信
– 有効にすることで、署名のないアクセスを全てブロック
• Behavior単位で指定可能
– 標準 (Canned Policy)
• 有効期間(時刻を秒単位指定)
• 有効コンテンツパス
– オプション (Custom Policy)
• アクセス元IPアドレス制限
• 有効開始時刻指定
• 許可コンテンツのワイルドカード指定
CloudFront Edge
クライアント
オリジンサーバ
認証サイト
認証リクエスト
署名付きURLで
アクセス
署名付きURLなし
署名付きURLで⽣生成
CloudFront
Private Key
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.
署名付き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.
ストリーミング配信機能
31.
ストリーミング配信機能
• CloudFrontを活⽤用したストリーミング配信
– 配信規模に応じて多くのネットワーク帯域が必要となるストリーミングを
効率率率的に配信可能
– ⼩小規模から⼤大規模配信まで柔軟に対応
– 対応可能な配信⽅方式
• Amazon S3をコンテンツストレージとしたオンデマンドストリーミング配信
• ストリーミングサーバと連携したHTTPベースのストリーミング配信
(オンデマンド・ライブ双⽅方対応)
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.
ストリーミング配信
• ストリーミングサーバと連携したHTTPベースのストリーミング配信
– シングルコンテンツマルチユース
– オンデマンド・ライブ配信に対応
– AWS CloudFormationを利利⽤用した環境デプロイ⽤用テンプレートも提供
クライアント
CloudFront Edge
EC2
Flash Player /
Silverlight Player
HTTP/HTTPS
AWS CloudFormation
Template
LIVE
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.
レポート & ロギング機能
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.
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.
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.
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.
CloudFront Reports & Analytics
• Popular Objects
– Distribution毎のリクエスト数の多いTop 50コンテンツリスト
• Object
• Requests
• Hits, Hit %, Misses
• Total Bytes, Bytes From Misses,
• Incomplete Download, Response Code
41.
CloudFront Reports & Analytics
• Top Referrers
– Distribution毎のリクエスト数の多いTop 25のリファラードメイン
• Referrersドメイン
• Request Count
• Request %
42.
CloudFront Reports & Analytics
• Viewers
– Distribution毎のクライアントデバイス情報
• Browsers
– ブラウザー種別の⽐比率率率
– ブラウザートレンド
» ⽇日単位でのブラウザー毎のリクエスト数
• Operating Systems
– OS種別の⽐比率率率
– OSトレンド
» ⽇日単位でのOS毎のリクエスト数
• Locations
– Locationトレンド
» ⽇日単位での地域毎のリクエスト数
– Location毎の⽐比率率率 (Request Count/Request%/Bytes)
43.
CloudFront Reports & Analytics
• Monitoring and Alarming
– Cloudwatchを利利⽤用するため、しきい値設定によるアラート連携も可能
– CloudFrontのCloudwatchメトリックスはVirginiaリージョンに出⼒力力される
– メトリックス
• 4xxErrorRate, 5xxErrorRate, TotalErrorRate
• BytesDownloaded, BytesUploaded
• Requests
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.
Access Log
• S3 Bucketへの出⼒力力速度度の改善
– ⼤大半のログが1時間程度度でS3に出⼒力力が完了了可能
• 内部的にKinesisを導⼊入
– 1時間あたりで出⼒力力されるファイル数の削減
CloudFront Edge
Kinesis
S3 Bucket
46.
CloudFrontログ & レポート
CloudFront
クライアント
S3
Management Console
アクセスログ
アクセスや利利⽤用状況傾向の
確認及び分析
Cache Statistics
Popular Objects
Top Referrers
Usage
Viewers
Cloudwatch Monitoring and Alarming
障害/異異常検知や現状の利利⽤用確認
Access Log
複雑なアクセスや利利⽤用傾向分析
詳細な障害分析
リアルタイム
モニター
レポーティング
Redshift
EMR
47.
アーキテクチャ & TIPS
48.
Amazon CloudFrontの使いドコロ
• ⼤大⼩小問わずWebサイトのフロントキャッシュサーバとして
Webサーバ
静的コンテンツ中⼼心のサイト
CloudFront
S3
クライアント
CMS
静的ファイルに出⼒力力
フルマネージド
Webサーバ
動的コンテンツ中⼼心のサイト
CloudFront
クライアント
⼀一部HeaderでのClient判定や、POSTなどの動的
ページも対応可能
Webサーバの機能(mod_̲rewriteなど)で静的ファイル
のパスをCloudFront経由に強制書換え
パッケージCMSの利利⽤用もしくは既存構成に⼤大きな変更更
が加えられない場合
静的ファイル
パスの書換ページアクセス
静的ページ取得
静的ページのみ
キャッシュ
キャッシュ
49.
Amazon CloudFrontの使いドコロ
• ⼤大⼩小問わずWebサイトのフロントキャッシュサーバとして
Webサーバ
⼤大容量量のコンテンツを扱うサイト
CloudFront
クライアント
静的コンテンツストレージとしてS3を活⽤用
動的ページアクセス
静的コンテンツ取得
静的コンテンツ
キャッシュ
S3
CMS
AWS CLI / SDKを利利⽤用して
ファイル転送やディレクトリ
同期
50.
Amazon CloudFrontの使いドコロ
• ⼤大⼩小問わず動画配信サイトのフロントキャッシュサーバとして
オンデマンド動画配信プラットフォーム
CloudFront
S3
クライアント
フルマネージド動画配信プラットフォーム
Elastic Transcoder
Flash (RTMP/RTMPE/RTMPT/RTMPET)
HTTP Live Streaming (HLS)
Smooth Streaming
動画フォーマット変換
ストリーミング配信 キャッシング
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.
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.
リアルタム障害/異異常検知
• Cloudwatch Alarmの活⽤用
– Requestメトリックス
• 上限値アラーム設定による突発的なアクセス検知
• 下限値アラーム設定によるアクセス障害検知
– TotalErrorRateメトリックス
• 上限値アラーム設定によるオリジンエラー障害検知
54.
Pricing
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.
CloudFront Price Class
• Price Classを指定することで、安価なエッジロケーション
のみを利利⽤用した配信が可能
– Price Classの変更更により、ユーザへの配信速度度に影響が出る可能性があるため利利⽤用の
際は注意が必要
57.
Free Tier
• AWS無料料枠
– サインアップから1年年間
– 50GB/⽉月のデータ転送アウト
– 2万件/⽉月のHTTPおよびHTTPSリクエスト
検証などで是⾮非ご活⽤用ください
58.
まとめ
59.
まとめ
• CloudFrontを活⽤用することで
– 簡単にサイトの⾼高速化とスケーラビリティを実現可能
– 動的コンテンツへの対応も可能
– プレミアムコンテンツもセキュアに配信
– レポート機能でアクセス傾向分析も可能
– いつでも、すぐに利利⽤用できるCDNサービス
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/
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.
LinkedIn Corporation © 2016
🔔 Free Newsletter
Be the first to comment