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.

JAWS-UG函館 S3とCloudFrontを利用してWebサイトの性能向上

2,989 views

Published on

JAWS-UG函館 S3とCloudFrontを利用してWebサイトの性能向上

  1. 1. Copyright © 2013 AGREX INC.2013/05/18札幌事業所マネジャー 古山浩司JAWS-UG 函館 第1回勉強会S3 と CloudFront を活用してWebサイトの性能向上
  2. 2. Copyright © 2013 AGREX INC. 1こやま ひろし古山 浩司(株)アグレックス 札幌事業所 システム部JAWS-UG 札幌支部 支部長facebook.com/H.Koyaman*1972年 静岡県浜松市生まれ*1997年 某・重工メーカー入社*2001年 (株)アグレックス 入社企業向けオープン系システム開発 (主にJava)2011年~ ECサイト構築&運用ビジネス担当好きなAWSサービス : VPC、RDS自己紹介
  3. 3. Copyright © 2013 AGREX INC. 2ECサイト構築・運用スキームEC決済&請求・回収プラットフォーム・銀振 / クレカ / コンビニ / ペイジー・振込専用口座・入金消込み・請求書・払込票発行(アウトソーシングサービス)低コスト・柔軟・高可用性・セキュアなインフラ(某メガバンクとの提携サービス)オールインワンECパッケージただ「売る」だけの仕組みではなく、ショップ側の運用コスト・手間を軽減!繁忙・閑散期ギャップや急激な事業成長にも追従→ 販売チャンスのロスなし!
  4. 4. Copyright © 2013 AGREX INC. 3・ECサイトの負荷傾向・大量アクセス対策に使えるAWSサービス・ECサイトでのつかいどころ・まとめ本日のお話
  5. 5. Copyright © 2013 AGREX INC. 4負荷傾向 ~1 季節性Nov. Dec. Jan. Feb.Capacity洋菓子系ECサイトの傾向アクセス比較的対応しやすい
  6. 6. Copyright © 2013 AGREX INC. 5負荷傾向 ~2 スパイクSat.CapacityゴールデンタイムのTV放映Sun. Mon.Fri.超潜入!リアル・・・シルシル・・・サンデーアクセスとくに危険・画面に商品名が出た直後・合間のCMに入った直後
  7. 7. Copyright © 2013 AGREX INC. 6Server大量アクセスにどう対応する?Server Server ServerServerServerScale Up Scale Outその前に・・・そもそも、そのリクエスト、サーバーで受ける必要ありますか?・まずは、リクエストを減らす策を考える。・それでもダメなら、Scale Up / Scale Out。
  8. 8. Copyright © 2013 AGREX INC. 7リクエストを減らす手段 ~1ServerServerHTMLPHP静的ページのためにサーバーはもったいないHTMLPHPS3静的ページに特化したサービスに任せる
  9. 9. Copyright © 2013 AGREX INC. 8S3の特徴◆本来は、ストレージサービス• 容量無制限、堅牢性 99.999999999% 。• 世界で2兆個のオブジェクト、110万req/sを処理。◆静的Webサイトのホスティングも出来る• 全てのオブジェクトにユニークなURLが付与される。(https://xxxx.amazonaws.com/mybucket/index.html)• 現サイトのディレクトリ構造のまま、バケットに放り込むだけ。あとはバケットに公開設定をするだけでWebサイトに。• DNSのCNAMEにS3のURLを設定すれば、独自ドメインでのホスティングもOK。• Route53と併用で、ルートドメイン(例:http://mysite.com)でも可能。• アクセスログも取得可能。(指定したバケットに溜まる)
  10. 10. Copyright © 2013 AGREX INC. 9リクエストを減らす手段 ~ 2ServerServerサーバーの手前にキャッシュを置く同一コンテンツを何度も作るのは無駄CloudFront中華まん中華まん中華まんhttp://shop.com/?item=中華まん
  11. 11. Copyright © 2013 AGREX INC. 10CloudFrontの特徴◆高速で信頼性の高いCDNサービス• 世界中のエッジロケーションからコンテンツを配信 。(同じURLでも、各アクセス元からのレイテンシが最短のところにつながる)• 国内には東京と大阪の2箇所。◆従量課金• リクエスト料金 - $0.0095 /1万req• データ転送量 - $0.201 /GB◆何をオリジンとするかは自在• EC2やS3だけでなく、AWS以外のサーバーでもOK。• キャッシュ期間はデフォルト1日、短くもできる。(削除も可)• DNSのCNAMEにCloudFrontのURLを設定すれば、独自ドメインでの配信もできる。(httpのみ)
  12. 12. Copyright © 2013 AGREX INC. 11S3、CloudFront ともに、なにより素晴らしいのは・・・• どれだけアクセスされてもびくともしない、天井知らずのスケーラビリティ• それでいて、料金は使った分だけの従量課金。「リアル***」も「シルシル***」も、恐れる必要全くなし!
  13. 13. Copyright © 2013 AGREX INC. 12・・・と、ここまでは教科書的な一般論。
  14. 14. Copyright © 2013 AGREX INC. 13ECサイトは動的ページ、S3には置けない。現実(例えばECサイト) はそう簡単でない◆ S3◆ CloudFrontキャッシュされたらまずい部分が至る所に。URLは同じでも、誰が? いつ? によって見せるべき内容が違う。アプリの構造自体に手を入れないと難しい。でも・・・部分的になら、今すぐ活用できる!
  15. 15. Copyright © 2013 AGREX INC. 14簡単にできる、S3の適用事例サイトトップ 会社概要店舗情報リクルート製品情報オンラインショップ マイページショッピングカート商品一覧商品詳細Server(EC2)S3http://www.mysite.comhttp://shop.mysite.com静的HTMLで作るorCMSからHTMLを生成ランディングページがS3上にあれば、一気にアクセスが来ても「何も見れない」という事態は、まず起きない。
  16. 16. Copyright © 2013 AGREX INC. 15「Direct Hostingパターン」に相当
  17. 17. Copyright © 2013 AGREX INC. 16簡単にできる、CloudFrontの活用事例Server(EC2)http://shop.mysite.com/xxx.php<img src=“http://cf.mysite.com/xxx.jpg”/>リクエスト全体の大部分を占める、画像等の静的パーツをCloudFrontにキャッシュする。 → EC2が受けるリクエスト数は1/10以下に!cf.mysite.comshop.mysite.comorigin
  18. 18. Copyright © 2013 AGREX INC. 17簡単にできる、CloudFrontの活用事例アプリが生成したページそのままの記述Apache mod_sedOutputSed “s/ ¥/images¥/ / http:¥/¥/cf.mysite.com¥/images¥/ /g"URL書き換え方法の一例 (Apache mod_sed)<img src=“/images/xxx.jpg” /><img src=“http://cf.mysite.com/images/xxx.jpg” />クライアントが受け取るページの記述置換 (sedコマンドと同等)
  19. 19. Copyright © 2013 AGREX INC. 18「URL Rewritingパターン」に相当
  20. 20. Copyright © 2013 AGREX INC. 19URL Rewritingパターンの効果 実測0 200 400 600 800m1.mediumm1.smallt1.micro◆ 1分間あたり最大PV数0 5000 10000m1.mediumm1.smallt1.micro■EC2のみ■静的パーツはCloudFront◆ 最大負荷時のページあたり読込み時間 (msec)■EC2のみ■静的パーツはCloudFrontEC2上の ECDirect デモサイト、JMeter (×4台)での負荷試験
  21. 21. Copyright © 2013 AGREX INC. 20まとめ いきなりEC2のScale Up/Outに頼るのは早計。「EC2へのアクセスをいかに減らすか」をまず考える。 S3とCloudFrontを使えば、大量アクセスを安定して、安価に捌くことができる。 サイト丸ごとでなくとも、部分的にでもS3とCloudFrontを利用する価値あり。 AWSを利用すれば、サービス構築・問題解決のスピード感は飛躍的に向上する。
  22. 22. Copyright © 2013 AGREX INC. 21最後にこちらも…
  23. 23. Copyright © 2013 AGREX INC.【公開資料はこちら】

×