cloud frontの概要と勘所

30
Amazon CloudFront概要と勘所 ユースケースから学ぶ アマゾンウェブサービス勉強会 1 2016/01/14

Upload: kei-hirata

Post on 16-Apr-2017

2.621 views

Category:

Technology


0 download

TRANSCRIPT

Amazon CloudFrontの概要と勘所

ユースケースから学ぶアマゾンウェブサービス勉強会

1

2016/01/14

自己紹介名前 : 平田 圭 (@masuwo3)

所属 : データ分析チーム現在 : 2015年5月よりクラスメソッド過去 : 特任助教、SE、IT講師、etc...

勉強 : 機械学習、統計

2

アジェンダ• CloudFrontの概要• 使い方• ユースケース

3

4

Amazon CloudFrontの概要

5

Amazon CloudFrontとは?• AWSが提供する高速コンテンツ配信サービス• CDN (Content Delivery Network)を利用• CloudFrontを通して、コンテンツの高速配信を実現する

オリジンサーバCoudFront

Edge Location

6

CDN(Contents Delivery Network)世界各地のエッジサーバにコンテンツをキャッシュすることで、• 問い合わせに対する高速な応答• 大規模アクセスに対する負荷分散を実現することができる。

CDNありCDNなし

最適なエッジロケーションへの誘導

7

CloudFrontの仕組み

DNSリゾルバ DNSリゾルバ

CloudFront DNS

位置情報DB

①ドメイン名問い合わせ ②IPアドレス問い合わせ

③最適なEdgeアドレス応答

Edge Location

③最適なEdgeサーバにコンテンツ問い合わせ ④キャッシュがなければ

オリジンサーバから取得

8

Edge Locationについて

AWS Black Belt Techシリーズ Amazon CloudFront よりhttp://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-cloudfront

※2014年12月時点

9

負荷対策と従量課金大規模リクエストへ対応

利用料金はアクセス量に応じた従量課金

突発的なスパイクへの対策として有効

10

利用料金

②③

① HTTP / HTTPSリクエスト数

② 外部へのデータ転送量③ オリジンへのデータ転送量④ 独自SSL証明書の利用

⑤ 無効化リクエスト

価格の詳細は公式ページをご参照くださいhttps://aws.amazon.com/jp/cloudfront/pricing/

11

Amazon CloudFrontのメリット• コンテンツの分散配信

世界52拠点のエッジサーバによる分散配信

• 潜在的な大規模アクセスからの開放予測不可能なスパイクアクセスへの対応

• 従量課金制アクセス量に応じた課金

12

コンテンツ配信の種類webコンテンツの配信

• HTTP, HTTPSによるコンテンツの配信

• webサイト上の画像などのメディアを効率的に配信する

• web上に公開されているサーバをオリジンとして指定

動画のストリーミング配信• RTMPを用いた動画のストリーミング配信

• Adobe Flash Playerなどを用いた動画配信に対応

• オリジンサーバはS3に限定

13

CloudFrontの使い方

14

CloudFrontを構成する要素• オリジンサーバ

配信したいコンテンツを保持するサーバ

• エッジサーバコンテンツのキャッシュを保持するサーバ

• ディストリビューション利用するCDNの設定をまとめた定義• ドメインの設定• キャッシュコントロール

15

配信に必要な手順について1.オリジンサーバの準備2.ディストリビューションの作成

16

1. オリジンサーバの準備配信したいコンテンツを公開したサーバを配置

S3 bucket上のコンテンツを公開

EC2インスタンス上にwebサーバを構築

AWS外部のwebサーバを利用

※動画ストリーミングの場合はS3に限定

17

2. ディストリビューションの設定AWS Management Consoleなどから設定を行う

はじめに「Create Distribution」を選択

18

2. ディストリビューションの設定ディストリビューションの種類を選択

画像などの配信⇨「web」を選択

動画ストリーミング⇨「RTMP」を選択

19

2. ディストリビューションの設定

ドメイン名またはAWSのIDを指定

コンテンツが格納されているオリジンサーバを指定

コンテンツのパスも同時に指定可能

20

2. ディストリビューションの設定設定後、Edge Locationに展開されるのを待つ

「In Progress」⇩

「In Deploy」

(15分程度)

展開後、「Domain Name」にアクセスするとコンテンツが確認できる

21

注意点コンテンツのキャッシュ• キャッシュされたコンテンツは、変更が即時反映されない

• 変更が少ない静的なコンテンツを対象とするべき• 動的なコンテンツについては、設定で指定可能

• HTTP Header• Cookie• Query String

22

キャッシュコントロール•コンテンツ毎の制御• HTTPヘッダで期間を指定

S3の場合は Management Console から指定可能

23

キャッシュコントロール•デフォルトとしての指定

詳細は弊社ブログをAmazon CloudFrontのキャッシュ期間をコントロールする(2015年6月版)

【新機能】Amazon CloudFrontに「Maximum TTL / Default TTL」が設定できるようになりました!

24

コンテンツの削除・更新• 無効化リクエストによるキャッシュクリア

コンテンツを指定してクリアすることもできる15分程度でクリアされる

25

ユースケースについて

26

webサイトにおける利用例• webサイトのフロントキャッシュサーバとして

動的ページアクセス

静的コンテンツ取得キャッシング

コンテンツの同期

webサーバ CMS

27

動画配信サイトにおける利用例

動画フォーマット変換

• 動画配信サイトのフロントキャッシュサーバとして

キャッシングストリーミング配信

Flash

Smooth Streaming

HTTP Live Streaming Amazon Elastic Transcoder

28

まとめ• CloudFrontとCDNについての概要

• 応答の高速化と負荷分散• CloudFrontによるCDNの構築手順

• 注意点• 動的コンテンツの扱い• キャッシュコントロール

• ユースケース• webサイトにおける利用例• 動画サイトにおける利用例

29

参考資料• 公式資料 (blackbelt webinar)

AWS Black Belt Techシリーズ Amazon CloudFronthttp://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-amazon-cloudfront

Amazon CloudFront 開発者用ドキュメントhttp://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

• 弊社ブログAWS 再入門 CloudFront編

http://dev.classmethod.jp/cloud/cm-advent-calendar-2015-aws-re-entering-cloudfront/

Amazon CloudFrontのキャッシュ期間をコントロールする(2015年6月版)

http://dev.classmethod.jp/cloud/cloudfront-cache-control/

Amazon CloudFrontに “Maximum TTL / Default TTL” が設定できるようになりました!

http://dev.classmethod.jp/cloud/aws/introduction-to-max-ttl-on-cloudfront/