$30 off During Our Annual Pro Sale. View Details »

Auto Scaling でサーバーを 安定稼動させたい

shida
May 29, 2012

Auto Scaling でサーバーを 安定稼動させたい

24時間365日安定稼動
急にアクセスが増えても大丈夫
できるだけ安くしたい
そういう顧客のニーズにEC2のauto scalingで応えるための
サーバー構成やアーキテクチャについての発表

shida

May 29, 2012
Tweet

More Decks by shida

Other Decks in Technology

Transcript

  1. Auto Scaling でサーバーを
    安定稼動させたい
    志田 裕樹
    2012.05.29

    View Slide

  2. 自己紹介
    • 三鷹市下連雀1丁目在住
    • FLATz久末君と友達
    • Railsとか、 Zen Cartとか、 MTとか
    • pgcafeは2,3回来たことあります

    View Slide

  3. よくいただく要望
    • 24時間365日安定稼動
    • 急にアクセスが増えても大丈夫
    • できるだけ安くしたい
    人間が張り付くのは無理
    AWSのauto scaling で自動的に解決したい

    View Slide

  4. Auto Scaling とは
    • 監視対象は?
    – CPU, Disc IO, トラフィック, ELBからみたLaytencey, …
    – Custom Metricsを何でも監視対象にできる
    • それがいくつになったら?
    – 5分平均でCPU使用率 20%以上になったら、とか
    • どのAMIで?
    • どのサーバータイプで?
    – Small, large,..
    • 何台を?
    – 1度に5台とか、1台ずつとか (一度増やしたら次は5分後とか)
    • 増やす?、減らす?

    View Slide

  5. scaling group 2
    ELB
    Apache
    cron
    Apache Apache
    scaling group 1
    Min: 1
    Max: 1
    Health Check: ELB
    起動時に自分にEIP付与
    Min: 0
    Max: 10
    Scale in: ELBのLaytency2以下
    Scale out: ELBのLaytency5以上
    Health Check: ELB
    MySQL
    scaling group 3 Min: 1
    Max: 1
    Health Check: EC2
    起動時に自分でEIP付与
    Cronマシンから接続性を定期チェック
    し、接続できなければterminate
    現状の構成

    View Slide

  6. scaling group 2
    ELB
    Apache
    cron
    Apache Apache
    scaling group 1
    MySQL(master:3306)
    MySQL(slave:3307)
    scaling group 3 scaling group 4
    MySQL
    (slave)
    MySQL
    (slave)
    Min: 0
    Max: 10
    Scale in: SC3のCPU XX以下
    Scale out: SC3のCPUXX以上
    Health Check: EC2
    起動時SC3のMySQL:3307 を停
    止し、rsyncしてsalveとして起動
    server-idもSC3側のプログラムか
    ら取得
    起動時
    rsync
    もっとスマートな方法ない
    でしょうか? ^^;
    今後の構成

    View Slide