SlideShare a Scribd company logo
1 of 34
Download to read offline
Update 2010/7/21
瞬間⾼アクセス対策のための
CloudFront活⽤
2015/07/04 innovation EGG
株式会社ロックオン 三原俊介
1
注意事項2
本資料は、2014年9⽉の事例をご紹介しております
CloudFrontの最新仕様をご確認したい場合は、公
式のドキュメントをご確認下さい。
<参考>
http://aws.amazon.com/jp/cloudfront/
http://aws.amazon.com/jp/documentation
/cloudfront/
Update 2010/7/21
⾃⼰紹介
3
2012.04 株式会社ロックオン⼊社
インフラユニット
現在 匠部所属
主にインフラ全般、開発環境の改善、
ロックオフの管理⼈などなどやってます
三原 俊介– Shunsuke Mihara
⾃⼰紹介4
株式会社ロックオン
会社紹介5
2001.6 設⽴
2014.9 マザーズ上場
現在 従業員約60名 アメリカ、ベトナムに⼦会社
今回持ち帰って頂きたいこと6
サーバをクラウドに移⾏させることなく、アクセス
量に応じた⾃動スケール可能なWEBサイトの構築
サイト運営者の以下の思いに応えたい
1. WEBサイトの突発的なアクセス増に対応したい
2. WEBサイトの構成を変えたくない
3. 低価格かつ、運⽤の⼿間がほとんどかかわらな
いようにしたい
1. AWSのCDNサービス CloudFrontの説明
• CDNとは、CloudFrontとは
2. 当社での利⽤事例(IPO対策)
• 背景、実施内容、成果
3. CloudFrontの利⽤⽅法
• 設計、実装、試験、公開の流れ
4. まとめ
アジェンダ7
Update 2010/7/21
AWSのCDNサービス CloudFront
8
CDN(コンテンツデリバリーネットワーク)とは
WEBコンテンツ配信に特化したサービス
CDNとは9
自社WEBサイト(サーバ)通常(CDN無し)
CDN(コンテンツデリバリーネットワーク)とは
WEBコンテンツ配信に特化したサービス
CDNとは10
自社WEBサイト(サーバ)CDN有り
CDN
世界各国で稼働
CDNがWEBコンテンツを
⼀時的にキャッシュして利⽤者に配信する
CDNの仕組みとは11
DBサーバWEBサーバCloudFront
CDNインターネットからの
アクセス
キャッシュの切れた
ページの問合せ
WordPressの処理
http リクエスト(初回アクセス)
http リクエスト
SQL(WordPressのリクエスト)
記事のデータなどweb
ページweb
ページ
web
ページ
http リクエスト(2度目以降アクセス)
web
ページ
TTL(Time	to	live)が過ぎる
まで保持される
既存環境(例 :WordPress)大量アクセスに耐えられ
るサーバとネットワーク
各種CDN12
(1) Akamai
• 最⼤⼿のCDN
• 全世界のネットワーク通信量の数割がここから配信
(2) Amazon CloudFront
• AWS提供のCDN
• 今回紹介するサービス
< CDNの利⽤例 >
• N/W、H/W機器のドライバやミドルウェアの配信
• Windows等のOSのupdate
CloudFrontとは13
< 特徴 >
• AWSアカウントがあればWEBコンソールから利⽤可能
• キャッシュルールを詳細に設定可能
• 世界各地のサーバでキャッシュ
• 明瞭会計
詳しくはこちらのページ
http://aws.amazon.com/jp/cloudfront/
AWSがサービスの⼀部として提供しているCDN
CloudFrontの利⽤料⾦14
<費⽤計算式>
CloudFront費⽤
= (1) CloudFrontからのデータ転送費⽤(1GB当り約17円)
+ (2) CloudFrontへのデータ転送費⽤(1GB当り約8円)
+ (3) CloudFrontへのリクエスト回数(1万リクエストで 約1円)
ほぼデータの転送量で決定 (1GB当り約17円)
⽉間10万PVのサイトなら⽉間2000円程度
急なアクセス増に対応するエンジニアの⼈件費を考えると、
⼗分に安い価格と思います
⼀般的なコーポレートサイトを想定
⽉間10万PV、 1.2MB/PVの転送が発⽣
Update 2010/7/21
当社での利⽤事例(IPO対策)
15
当時のサイト構成16
⼀般的なWordPressのコーポレートサイト
理由
1. 事業サービスほどの⾼スペックは不要
2. コンテンツの運⽤が中⼼
VM
WP
VMのスペック
CPU: 仮想1コア
メモリ: 1GB
IPO :影響が想定しきれない17
すべてが未知なため、
何をどのくらい対応すればよいかがわからない
1. 妥当な想定アクセス数が出せない(性能を何倍にするべき??)
通常の10倍?、100倍??、1000倍???
2. 新規に当社のファンになってくれるかもしれない⼈がアクセスする
ので、アクセス数に制限をかけたくない
3. 株価操作のために、⼤量アクセス攻撃を仕掛けられる可能性も否定
できない
4. 24時間稼働が必須のWEBサービス提供会社として、誇りと信⽤に
かけて、絶対サーバを落とすわけにはいかない
VM
WP
実施した対策18
CloudFrontを設置
各ページ1時間に数回だけ配信
結果19
IPO公表時刻のアクセス増(前⽇同時刻⽐約80倍)
でも、サーバの負荷はいつも通り
IPOの公表日
DBサーバWEBサーバCloudFront
CDN
通常80倍のアクセス
(瞬間的にはそれ以上)
アクセスの5%程度
既存環境(例 :WordPress)
CPU
Update 2010/7/21
CloudFrontの利⽤⽅法
20
1. 設計
A) キャッシュ対象
B) キャッシュ時間
C) その他 注意点
2. 実装
A) CloudFrontの設定
B) Apacheの設定
3. 試験と公開
タスク21
キャッシュルールについて、
設計、実装、試験を実施する
設計 キャッシュ対象22
静的なコンテンツ、動的なコンテンツについて
キャッシュする対象URLを決める
WordPressの例
1. 静的なコンテンツのキャッシュ
静的なファイルの識別⼦がついたURL(/〜/〜.htmlなど)
html,css, js, (画像)git, Git, (フォント)svg, (ファイル)zip ..
2. 動的なコンテンツのキャッシュ
アクセス傾向をもとにキャッシュするべきページを選定
(トップページ)/, /index.php, (ニュース)/news/ ..
※ 想定外ページのキャッシュによる、ユーザ情報の流出や画⾯崩れ
が発⽣する危険があるため、指定ページのみキャッシュをおすすめ
設計 キャッシュ時間23
変更を反映させるまでの時間を考えて、
TTL(キャッシュ時間)を決める
TTLを⻑くする -> ページ更新して実際に反映される時間が⻑くなる
TTLを短くする -> CDNを通過するアクセス量が増える
細かく設計しても良いが、ロックオンで実施したのは3分類
1. 静的なキャッシュ対象コンテンツ [TTL] 86400秒(24時間)
2. 動的なキャッシュ対象コンテンツ [TTL] 3600秒(1時間)
3. キャッシュしないコンテンツ [TTL] 0秒
設計 その他注意点24
1. 無料のSNI独⾃SSLか、⽉6万円の専⽤IP独⾃SSLが使⽤可能
※ 無料のSNI独⾃SSLを使うリスク
SNIを使えない古いブラウザには、危険なサイトとして警告
2. アクセスカウンターによってはアクセス数の取得不可能
WEBサーバまでアクセスが来なくなるため、WordPressのアクセ
スカウンタープラグインなどは動作しなくなる
※ AD EBiSや、Google Analytics等のタグ計測ツールは影響なし
SSL証明書、アクセスカウンター、ログイン機能、
およびIP制限には注意
設計 その他注意点25
3. ログイン機能があるサイト(WordPressも管理者画⾯の機能あり)
はユーザの識別⼦毎に別ページとして扱うように設定
※ 他のユーザ向けのデータが他のユーザに⾒えてしまうリスク
4. CloudFrontを経由すると、IPがすべてCloudFrontからのアクセ
スに⾒えるので、通常のIP制限が不可能
CloudFrontを経由しない、アクセス⽅法を⽤意しIP制限をかける
SSL証明書、アクセスカウンター、ログイン機能、
およびIP制限には注意
実装 CloudFrontの設定26
WEBブラウザでAWSの管理コンソールから
CloudFrontを設定
実装 Apacheの設定27
Apacheの設定ファイル(*.conf,.htaccessなど)を
利⽤して、httpのCache-Controlヘッダを設定
#	デフォルトキャッシュ無し
Header	set	Cache-Control	"no-store,	no-cache,	must-revalidate,	post-check=0,	pre-check=0"
Header	set	Pragma	"no-cache"
#	静的コンテンツのキャッシュ設定
<Files	~	
"¥.(crt|css|eot|GIF|gif|gz|html|ico|ja|JPG|jpg|md|mo|otf|pdf|PNG|png|svg|swf|ttf|txt|woff|xap|xls|xml|zip)$">
Header	set	Cache-Control	"max-age=86400"
Header	unset	Pragma
</Files>
#	WordPressが生成する動的コンテンツのキャッシュ設定
<Files	"index.php">
Header	set	Cache-Control	"max-age=3600"
Header	unset	Pragma
</Files>
例) WordPress
試験と公開 CloudFront動作確認28
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
外部からの流入
11.22.111.222d~.cloudfront.net[CloudFrontのドメイン]
DNS
www.lockon.ne.jp	->	11.22.111.222	
初期状態
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認29
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
11.22.111.222
hoge.lockon.ne.jp
www.lockon.ne.jp
リバプロ
外部からの流入
Step1
d~.cloudfront.net[CloudFrontのドメイン]
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認30
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
11.22.111.222
hoge.lockon.ne.jp
www.lockon.ne.jp
リバプロ
外部からの流入
hostsファイルを使ったテスト
hosts	
www.lockon.ne.jp	->	10.20.10.20
※ 10.20.10.20はCloudFrontのIP
Step1
d~.cloudfront.net[CloudFrontのドメイン]
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認31
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
11.22.111.222
hoge.lockon.ne.jp
www.lockon.ne.jp
リバプロ
外部からの流入
Step1
d~.cloudfront.net[CloudFrontのドメイン]
DNS
www.lockon.ne.jp	->	d~.cloudfront.net	
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認32
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
11.22.111.222
hoge.lockon.ne.jp
www.lockon.ne.jp
リバプロ
外部からの流入
Step2
d~.cloudfront.net[CloudFrontのドメイン]
Update 2010/7/21
まとめ
33
まとめ
1.アクセス変動に低コストで⾃動対応
2.WEBブラウザで簡単に利⽤開始
3.オンプレ環境、クラウド環境問わず、
WordPressなどのCMSにも適⽤可能
34
CloudFrontはスモールスタートな
Innovatoin事業を⽀援できる有益なツール

More Related Content

What's hot

What's hot (14)

PaaS勉強会#25 Helion Development Platform Tech Overview
PaaS勉強会#25 Helion Development Platform Tech OverviewPaaS勉強会#25 Helion Development Platform Tech Overview
PaaS勉強会#25 Helion Development Platform Tech Overview
 
オープンに活動することと現場の改善~Zabbix導入による改善物語~
オープンに活動することと現場の改善~Zabbix導入による改善物語~オープンに活動することと現場の改善~Zabbix導入による改善物語~
オープンに活動することと現場の改善~Zabbix導入による改善物語~
 
160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
NoOpsへ舵を切れ
NoOpsへ舵を切れNoOpsへ舵を切れ
NoOpsへ舵を切れ
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
 
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
 
Sas University Editionを使おう(インストール編)
Sas University Editionを使おう(インストール編)Sas University Editionを使おう(インストール編)
Sas University Editionを使おう(インストール編)
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCC
 
Drupal 最新情報集 2019/3
Drupal 最新情報集 2019/3Drupal 最新情報集 2019/3
Drupal 最新情報集 2019/3
 
Azure express route tips
Azure express route tipsAzure express route tips
Azure express route tips
 
6 TSPN_SalesforceのOData対応
6 TSPN_SalesforceのOData対応6 TSPN_SalesforceのOData対応
6 TSPN_SalesforceのOData対応
 
#CNDT2020 Cloud Foundry on K8sでクラ ウドネイティブ始めませんか?
#CNDT2020 Cloud Foundry on K8sでクラ ウドネイティブ始めませんか?#CNDT2020 Cloud Foundry on K8sでクラ ウドネイティブ始めませんか?
#CNDT2020 Cloud Foundry on K8sでクラ ウドネイティブ始めませんか?
 
2018 m365-e5-zero trust-network
2018 m365-e5-zero trust-network2018 m365-e5-zero trust-network
2018 m365-e5-zero trust-network
 
Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法
 

Similar to Innovation EGG 第4回 発表資料 瞬間高アクセス対策のためのCloudFront活用

Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
DeNA
 
AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013
TerraSky
 

Similar to Innovation EGG 第4回 発表資料 瞬間高アクセス対策のためのCloudFront活用 (20)

大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
あらゆるデバイスをAWSへダイレクトにバックアップ!新SaaS型ソリューション「Druva」
あらゆるデバイスをAWSへダイレクトにバックアップ!新SaaS型ソリューション「Druva」あらゆるデバイスをAWSへダイレクトにバックアップ!新SaaS型ソリューション「Druva」
あらゆるデバイスをAWSへダイレクトにバックアップ!新SaaS型ソリューション「Druva」
 
gumiStudy #18 クラウドを使うユーザーが考えるべきこと
gumiStudy #18 クラウドを使うユーザーが考えるべきことgumiStudy #18 クラウドを使うユーザーが考えるべきこと
gumiStudy #18 クラウドを使うユーザーが考えるべきこと
 
VIOPS09: クラウド時代におけるFusion-ioのポジショニング
VIOPS09: クラウド時代におけるFusion-ioのポジショニングVIOPS09: クラウド時代におけるFusion-ioのポジショニング
VIOPS09: クラウド時代におけるFusion-ioのポジショニング
 
20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublic20140924イグレックcioセミナーpublic
20140924イグレックcioセミナーpublic
 
Oracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 AgentセットアップガイドOracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 Agentセットアップガイド
 
160901 osce2016sre
160901 osce2016sre160901 osce2016sre
160901 osce2016sre
 
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud[Cloud  OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
[Cloud OnAir ] #06 メルカリ & ソウゾウの世界展開と Google Cloud
 
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
 
FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
 
IP ベースのアクセス制御から脱却してよりセキュアな環境を構築しよう
IP ベースのアクセス制御から脱却してよりセキュアな環境を構築しようIP ベースのアクセス制御から脱却してよりセキュアな環境を構築しよう
IP ベースのアクセス制御から脱却してよりセキュアな環境を構築しよう
 
東北IT物産展2015 @ 青森 スポンサーセッション
東北IT物産展2015 @ 青森 スポンサーセッション東北IT物産展2015 @ 青森 スポンサーセッション
東北IT物産展2015 @ 青森 スポンサーセッション
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
 
BPStudy#101発表資料
BPStudy#101発表資料BPStudy#101発表資料
BPStudy#101発表資料
 
第14回cloudstackユーザー会
第14回cloudstackユーザー会第14回cloudstackユーザー会
第14回cloudstackユーザー会
 
セキュリティ品質向上に向けたサイボウズの取り組み
セキュリティ品質向上に向けたサイボウズの取り組みセキュリティ品質向上に向けたサイボウズの取り組み
セキュリティ品質向上に向けたサイボウズの取り組み
 
AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013
 
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
 

Innovation EGG 第4回 発表資料 瞬間高アクセス対策のためのCloudFront活用