Internal ELB              を使った負荷分散13年2月18日月曜日
星野 豊 (@con_mame)          クックパッド株式会社 インフラストラクチャー部          http://d.conma.me/          http://facebook.com/conmame        ...
好きなCDP     Cache Distributionパターン13年2月18日月曜日
好きなサービス              Elastic Transcoder                     http://d.conma.me/entry/                         2013/01/30/00...
提供13年2月18日月曜日
PC、モバイル合わせて 月間利用者数は2,000万人以上 レシピ数130万以上 PC、モバイル合わせて PV 10億/月 以上 PC / smart phone / mobile / iOS / Android Ruby on Rails 20...
ところで13年2月18日月曜日
Internal ELB     知ってますか?13年2月18日月曜日
Internal ELB     使ってますか?13年2月18日月曜日
これ13年2月18日月曜日
VPC 内部用Load Balancer       基本的に外向けELBと同じ       VPC内部のインスタンス間の通信をロード       バランス              アプリケーションサーバ <-> DB /          ...
DBとかCacheの冗長化               どうしてますか?13年2月18日月曜日
アプリケーションの設定ファイルに複数       サーバを並べる       haproxyとかproxyを使う       Floating IP pattern13年2月18日月曜日
アプリケーションの設定に複数サーバを並べる              サーバ台数多いと設定の配布に時間がかかる        haproxyとかproxyを使う              haproxy自体の冗長化どうしよう... (multi...
そこで、Internal ELB13年2月18日月曜日
13年2月18日月曜日
を13年2月18日月曜日
13年2月18日月曜日
すっきり13年2月18日月曜日
メリット              アプリケーションの設定ファイルに複              数サーバを並べなくてもいい               切り離し・サービスインが手軽              他のミドルウェアを使わなくていい ...
Use Case13年2月18日月曜日
DB                   3306              DB slave13年2月18日月曜日
注意              ELBのヘルスチェックで、tcp:3306をチェックしている              と...               blocked because of many connection errors. ...
内部API                      80                API13年2月18日月曜日
Cache                                               ElastiCache                                                    or     ...
TIPS                 Protocol: http                 Port: 80                 Path: /13年2月18日月曜日
TIPS              Master / Slave process Down                ENIの移動やELBからの切り離しを行うよ                うなスクリプトを追加              ...
Multi AZ              AZ-a                        AZ-b                       proxy server                     mail relay s...
Multi AZ              AZ-a                        AZ-b                       proxy server                     mail relay s...
Multi AZ              AZ-a                        AZ-b                       proxy server                     mail relay s...
Multi AZ              AZ-a                        AZ-b                       proxy server                     mail relay s...
Multi AZ              AZ-a                        AZ-b                       proxy server                     mail relay s...
Performance13年2月18日月曜日
qps        DB編              データ数: 約2億                                   connection   DIRECT    ELB              connection...
qps        DB編              データ数: 約2億                                   connection   DIRECT    ELB              connection...
ElastiCache+twemproxy編                データ数: 10万                connection: 100                試行回数: 100                key...
only$twemproxy$(cmd/sec)         60000"         50000"         40000"                                                     ...
13年2月18日月曜日
90%劣化...              4,000/sec のアクセスがウォームアップ無しの              Internal ELBの性能限界では...              ELBはアクセス量に応じてスケールアップする! ...
注意              ELBのIPアドレスは変わることがある              DNSの問い合わせ結果をキャッシュしたり、              hostsファイルに書いておいたりするとアクセ              ス...
Conclusion13年2月18日月曜日
ELBは勝手にスケールアップするけど...               事前のパフォーマンス測定               数分とかではなく長時間トラフィックを流               してスケールアップの状態を見たり13年2月18日月曜日
ELBは勝手にスケールアップするけど...               事前のパフォーマンス測定               数分とかではなく長時間トラフィックを流               してスケールアップの状態を見たり         ...
Internal ELBで気軽に負荷分散・冗長化       Floating IP パターンと組の組み合わせで       楽にFailover       ELBのIPアドレスの変更にご注意を!13年2月18日月曜日
Important13年2月18日月曜日
募集中!!               一緒に毎日の料理を支えませんか?13年2月18日月曜日
Q and A13年2月18日月曜日
Upcoming SlideShare
Loading in...5
×

Loadbalance using internal_elb

4,849

Published on

2013/2/18 cookapdで行われたAWS勉強会のスライドです
http://techlife.cookpad.com/2013/01/23/awspad/

Published in: Technology
1 Comment
12 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,849
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
31
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

Loadbalance using internal_elb

  1. 1. Internal ELB を使った負荷分散13年2月18日月曜日
  2. 2. 星野 豊 (@con_mame) クックパッド株式会社 インフラストラクチャー部 http://d.conma.me/ http://facebook.com/conmame conmame@cookpad.com13年2月18日月曜日
  3. 3. 好きなCDP Cache Distributionパターン13年2月18日月曜日
  4. 4. 好きなサービス Elastic Transcoder http://d.conma.me/entry/ 2013/01/30/00244513年2月18日月曜日
  5. 5. 提供13年2月18日月曜日
  6. 6. PC、モバイル合わせて 月間利用者数は2,000万人以上 レシピ数130万以上 PC、モバイル合わせて PV 10億/月 以上 PC / smart phone / mobile / iOS / Android Ruby on Rails 2011年 11月 AWS完全移行 2012年 8月 VPC移行 500インスタンス以上稼働 EC2 / ELB / CloudFront / S3 / Glacier / R53 / EIP / ENI etc...13年2月18日月曜日
  7. 7. ところで13年2月18日月曜日
  8. 8. Internal ELB 知ってますか?13年2月18日月曜日
  9. 9. Internal ELB 使ってますか?13年2月18日月曜日
  10. 10. これ13年2月18日月曜日
  11. 11. VPC 内部用Load Balancer 基本的に外向けELBと同じ VPC内部のインスタンス間の通信をロード バランス アプリケーションサーバ <-> DB / Cache アプリケーションサーバ <-> 内部用API13年2月18日月曜日
  12. 12. DBとかCacheの冗長化 どうしてますか?13年2月18日月曜日
  13. 13. アプリケーションの設定ファイルに複数 サーバを並べる haproxyとかproxyを使う Floating IP pattern13年2月18日月曜日
  14. 14. アプリケーションの設定に複数サーバを並べる サーバ台数多いと設定の配布に時間がかかる haproxyとかproxyを使う haproxy自体の冗長化どうしよう... (multicast使い たい...) Pacemaker + heartbeat(Corosync) Floating IP pattern Slave系 内部API...13年2月18日月曜日
  15. 15. そこで、Internal ELB13年2月18日月曜日
  16. 16. 13年2月18日月曜日
  17. 17. を13年2月18日月曜日
  18. 18. 13年2月18日月曜日
  19. 19. すっきり13年2月18日月曜日
  20. 20. メリット アプリケーションの設定ファイルに複 数サーバを並べなくてもいい 切り離し・サービスインが手軽 他のミドルウェアを使わなくていい 管理コストの軽減 コネクションの集約 Multi AZ13年2月18日月曜日
  21. 21. Use Case13年2月18日月曜日
  22. 22. DB 3306 DB slave13年2月18日月曜日
  23. 23. 注意 ELBのヘルスチェックで、tcp:3306をチェックしている と... blocked because of many connection errors. mysqladmin flush-hosts max_connect_errors MySQLを監視するスクリプトをxinet.d経由で登録して、 http:8080:/ のように監視 正常なら 200 MySQLが駄目な感じなら 500とか13年2月18日月曜日
  24. 24. 内部API 80 API13年2月18日月曜日
  25. 25. Cache ElastiCache or Memcached / Redis on EC2 22121 twemproxy haproxy 1121113年2月18日月曜日
  26. 26. TIPS Protocol: http Port: 80 Path: /13年2月18日月曜日
  27. 27. TIPS Master / Slave process Down ENIの移動やELBからの切り離しを行うよ うなスクリプトを追加 Masterのfailover先をELB配下のslaveに ENIの移動とELB アプリケーションの設定変更なし13年2月18日月曜日
  28. 28. Multi AZ AZ-a AZ-b proxy server mail relay server application server mail server13年2月18日月曜日
  29. 29. Multi AZ AZ-a AZ-b proxy server mail relay server application server mail server13年2月18日月曜日
  30. 30. Multi AZ AZ-a AZ-b proxy server mail relay server application server mail server13年2月18日月曜日
  31. 31. Multi AZ AZ-a AZ-b proxy server mail relay server application server mail server13年2月18日月曜日
  32. 32. Multi AZ AZ-a AZ-b proxy server mail relay server application server mail server13年2月18日月曜日
  33. 33. Performance13年2月18日月曜日
  34. 34. qps DB編 データ数: 約2億 connection DIRECT ELB connection: 100 - 800 100 1897.5 1703.5 試行回数: 100 200 2075.1 1696.3 ELB配下に2台のMySQL (m2.4xlarge) 300 2286.7 1897.35000 400 3098.5 2033.9 500 3255.8 2110.23750 600 3341.2 2687.9 700 3923.7 2886.32500 800 4812.3 3224.31250 http://bit.ly/12CetAx 0 100 200 300 400 500 600 700 800 DIRECT ELB13年2月18日月曜日
  35. 35. qps DB編 データ数: 約2億 connection DIRECT ELB connection: 100 - 800 100 1897.5 1703.5 試行回数: 100 200 2075.1 1696.3 ELB配下に2台のMySQL (m2.4xlarge) 300 2286.7 1897.35000 400 3098.5 2033.9 33% 500 3255.8 2110.23750 600 3341.2 2687.9 700 3923.7 2886.32500 800 4812.3 3224.31250 http://bit.ly/12CetAx 0 100 200 300 400 500 600 700 800 DIRECT ELB13年2月18日月曜日
  36. 36. ElastiCache+twemproxy編 データ数: 10万 connection: 100 試行回数: 100 key size: 40bytes / value: 400bytes twemproxy配下に2-4台のElastiCache Node cache.m1.large m1.large Internal ELBウォームアップ無し13年2月18日月曜日
  37. 37. only$twemproxy$(cmd/sec) 60000" 50000" 40000" twemproxy1" twemproxy2" Sec$ 30000" twemproxy3" twemproxy4" 20000" twemproxy0" 10000" 0" 2" 3" 4" ELB+twemproxy(cmd/sec) 4200# 4100# 4000# 3900# 3800# 3700# twemproxy2# Sec$ 3600# twemproxy3# 3500# twemproxy4# 3400# 3300# 3200# 3100# 3000# 2# 3# 4#13年2月18日月曜日
  38. 38. 13年2月18日月曜日
  39. 39. 90%劣化... 4,000/sec のアクセスがウォームアップ無しの Internal ELBの性能限界では... ELBはアクセス量に応じてスケールアップする! 事前ウォームアップも可能 http://bit.ly/Uh68lr13年2月18日月曜日
  40. 40. 注意 ELBのIPアドレスは変わることがある DNSの問い合わせ結果をキャッシュしたり、 hostsファイルに書いておいたりするとアクセ スできなくなることも haproxyなどの起動時のDNSの結果を キャッシュするような作りになっているも のは、IPアドレスの変更を検知させたり、 定期的なreloadを13年2月18日月曜日
  41. 41. Conclusion13年2月18日月曜日
  42. 42. ELBは勝手にスケールアップするけど... 事前のパフォーマンス測定 数分とかではなく長時間トラフィックを流 してスケールアップの状態を見たり13年2月18日月曜日
  43. 43. ELBは勝手にスケールアップするけど... 事前のパフォーマンス測定 数分とかではなく長時間トラフィックを流 してスケールアップの状態を見たり     ∧_̲∧   ⊂(#・ω・)  仕様書はない!     /      ノ∪     し―-‐‑‒J  |l|  |                     ⼈人ペシッ!!                 __                 \    \                      ̄ ̄13年2月18日月曜日
  44. 44. Internal ELBで気軽に負荷分散・冗長化 Floating IP パターンと組の組み合わせで 楽にFailover ELBのIPアドレスの変更にご注意を!13年2月18日月曜日
  45. 45. Important13年2月18日月曜日
  46. 46. 募集中!! 一緒に毎日の料理を支えませんか?13年2月18日月曜日
  47. 47. Q and A13年2月18日月曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×