24時間365日安定稼動 急にアクセスが増えても大丈夫 できるだけ安くしたい そういう顧客のニーズにEC2のauto scalingで応えるための サーバー構成やアーキテクチャについての発表
Auto Scaling でサーバーを安定稼動させたい志田 裕樹2012.05.29
View Slide
自己紹介• 三鷹市下連雀1丁目在住• FLATz久末君と友達• Railsとか、 Zen Cartとか、 MTとか• pgcafeは2,3回来たことあります
よくいただく要望• 24時間365日安定稼動• 急にアクセスが増えても大丈夫• できるだけ安くしたい人間が張り付くのは無理AWSのauto scaling で自動的に解決したい
Auto Scaling とは• 監視対象は?– CPU, Disc IO, トラフィック, ELBからみたLaytencey, …– Custom Metricsを何でも監視対象にできる• それがいくつになったら?– 5分平均でCPU使用率 20%以上になったら、とか• どのAMIで?• どのサーバータイプで?– Small, large,..• 何台を?– 1度に5台とか、1台ずつとか (一度増やしたら次は5分後とか)• 増やす?、減らす?
scaling group 2ELBApachecronApache Apachescaling group 1Min: 1Max: 1Health Check: ELB起動時に自分にEIP付与Min: 0Max: 10Scale in: ELBのLaytency2以下Scale out: ELBのLaytency5以上Health Check: ELBMySQLscaling group 3 Min: 1Max: 1Health Check: EC2起動時に自分でEIP付与Cronマシンから接続性を定期チェックし、接続できなければterminate現状の構成
scaling group 2ELBApachecronApache Apachescaling group 1MySQL(master:3306)MySQL(slave:3307)scaling group 3 scaling group 4MySQL(slave)MySQL(slave)Min: 0Max: 10Scale in: SC3のCPU XX以下Scale out: SC3のCPUXX以上Health Check: EC2起動時SC3のMySQL:3307 を停止し、rsyncしてsalveとして起動server-idもSC3側のプログラムから取得起動時rsyncもっとスマートな方法ないでしょうか? ^^;今後の構成