Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Update 2010/7/21
瞬間⾼アクセス対策のための
CloudFront活⽤
2015/07/04 innovation EGG
株式会社ロックオン 三原俊介
1
注意事項2
本資料は、2014年9⽉の事例をご紹介しております
CloudFrontの最新仕様をご確認したい場合は、公
式のドキュメントをご確認下さい。
<参考>
http://aws.amazon.com/jp/cloudfront/
htt...
Update 2010/7/21
⾃⼰紹介
3
2012.04 株式会社ロックオン⼊社
インフラユニット
現在 匠部所属
主にインフラ全般、開発環境の改善、
ロックオフの管理⼈などなどやってます
三原 俊介– Shunsuke Mihara
⾃⼰紹介4
株式会社ロックオン
会社紹介5
2001.6 設⽴
2014.9 マザーズ上場
現在 従業員約60名 アメリカ、ベトナムに⼦会社
今回持ち帰って頂きたいこと6
サーバをクラウドに移⾏させることなく、アクセス
量に応じた⾃動スケール可能なWEBサイトの構築
サイト運営者の以下の思いに応えたい
1. WEBサイトの突発的なアクセス増に対応したい
2. WEBサイトの構成を変え...
1. AWSのCDNサービス CloudFrontの説明
• CDNとは、CloudFrontとは
2. 当社での利⽤事例(IPO対策)
• 背景、実施内容、成果
3. CloudFrontの利⽤⽅法
• 設計、実装、試験、公開の流れ
4. ま...
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...
各種CDN12
(1) Akamai
• 最⼤⼿のCDN
• 全世界のネットワーク通信量の数割がここから配信
(2) Amazon CloudFront
• AWS提供のCDN
• 今回紹介するサービス
< CDNの利⽤例 >
• N/W、H/...
CloudFrontとは13
< 特徴 >
• AWSアカウントがあればWEBコンソールから利⽤可能
• キャッシュルールを詳細に設定可能
• 世界各地のサーバでキャッシュ
• 明瞭会計
詳しくはこちらのページ
http://aws.amazo...
CloudFrontの利⽤料⾦14
<費⽤計算式>
CloudFront費⽤
= (1) CloudFrontからのデータ転送費⽤(1GB当り約17円)
+ (2) CloudFrontへのデータ転送費⽤(1GB当り約8円)
+ (3) Clo...
Update 2010/7/21
当社での利⽤事例(IPO対策)
15
当時のサイト構成16
⼀般的なWordPressのコーポレートサイト
理由
1. 事業サービスほどの⾼スペックは不要
2. コンテンツの運⽤が中⼼
VM
WP
VMのスペック
CPU: 仮想1コア
メモリ: 1GB
IPO :影響が想定しきれない17
すべてが未知なため、
何をどのくらい対応すればよいかがわからない
1. 妥当な想定アクセス数が出せない(性能を何倍にするべき??)
通常の10倍?、100倍??、1000倍???
2. 新規に当社のファンにな...
VM
WP
実施した対策18
CloudFrontを設置
各ページ1時間に数回だけ配信
結果19
IPO公表時刻のアクセス増(前⽇同時刻⽐約80倍)
でも、サーバの負荷はいつも通り
IPOの公表日
DBサーバWEBサーバCloudFront
CDN
通常80倍のアクセス
(瞬間的にはそれ以上)
アクセスの5%程度
既存環境(例 :...
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...
設計 キャッシュ時間23
変更を反映させるまでの時間を考えて、
TTL(キャッシュ時間)を決める
TTLを⻑くする -> ページ更新して実際に反映される時間が⻑くなる
TTLを短くする -> CDNを通過するアクセス量が増える
細かく設計しても...
設計 その他注意点24
1. 無料のSNI独⾃SSLか、⽉6万円の専⽤IP独⾃SSLが使⽤可能
※ 無料のSNI独⾃SSLを使うリスク
SNIを使えない古いブラウザには、危険なサイトとして警告
2. アクセスカウンターによってはアクセス数の取得...
設計 その他注意点25
3. ログイン機能があるサイト(WordPressも管理者画⾯の機能あり)
はユーザの識別⼦毎に別ページとして扱うように設定
※ 他のユーザ向けのデータが他のユーザに⾒えてしまうリスク
4. CloudFrontを経由す...
実装 CloudFrontの設定26
WEBブラウザでAWSの管理コンソールから
CloudFrontを設定
実装 Apacheの設定27
Apacheの設定ファイル(*.conf,.htaccessなど)を
利⽤して、httpのCache-Controlヘッダを設定
#	デフォルトキャッシュ無し
Header	set	Cache-Control	"n...
試験と公開 CloudFront動作確認28
hostsファイル、DNSを使って
各ページが想定通りに動作するのか検証して公開
WEBサーバCloudFront
www.lockon.ne.jp
外部からの流入
11.22.111.222d~....
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認29
hostsファイル、DNSを使って
各ページが想定通...
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認30
hostsファイル、DNSを使って
各ページが想定通...
DNS
www.lockon.ne.jp	->	11.22.111.222
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認31
hostsファイル、DNSを使って
各ページが想定通...
DNS
www.lockon.ne.jp	->	d~.cloudfront.net	
hoge.lockon.ne.jp	->	11.22.111.222
試験と公開 CloudFront動作確認32
hostsファイル、DNSを使って
各ペー...
Update 2010/7/21
まとめ
33
まとめ
1.アクセス変動に低コストで⾃動対応
2.WEBブラウザで簡単に利⽤開始
3.オンプレ環境、クラウド環境問わず、
WordPressなどのCMSにも適⽤可能
34
CloudFrontはスモールスタートな
Innovatoin事業を⽀援...
Nächste SlideShare
Wird geladen in …5
×

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

88 Aufrufe

Veröffentlicht am

Innovation EGG 第4回で発表させて頂いた資料です。
https://innovationegg.doorkeeper.jp/events/23300

* 概要
プライベート環境で、コーポレートサイトやプロダクトの紹介サイトを運用されている方は多いのではないでしょうか。
今回は、弊社のコーポレートサイトをAWSのCDNサービスであるCloudFrontを使って、瞬間的な高アクセス増に耐えられるインフラ構成にした事例をご紹介します。
この方法であれば、クラウド環境かオンプレミス環境かに関係なく、少ないコストで、ニュースサイトに取り上げられた時などに発生する瞬間高アクセスに耐えることができます。

* 出てくる技術やソフト
AWS、CDN、CloudFront、DNS、WordPrees

* 想定対象者
CloudFrontというサービスは知っているが使ったことがない方
コーポレートサイトやプロダクトの紹介サイトを運用している方

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

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

×