SlideShare a Scribd company logo
Auto Scalingの薄い説明書
第一版
サーバーワークス/AWS事業部 テクニカルグループ
柳瀬 任章(@oko_chang)
変更履歴
• 2013年 3月:新規
• 2013年 8月:修正
• Scale OutとInの記載ミス、所属変更
目次
• 背景
• 課題
• 対策
• Auto Scalingの説明
• インストール
• サンプル設定方法
背景
とあるプロジェクトで
新しいサービスをAWSで構築して良かったですね。
安定して動いてるみたいです。
そうだね、最近アクセスも増えてサービスとしても順調
で何よりだね。
もう少し、EC2の台数増やしてみましょうか?
Auto Scalingを使うと良いかもしれません。
イイね。さっそく導入を進めてみてよ。
数日後
そういえばAuto Scalingはどうなった?
あ、いえ、その…。
何か問題でもあったのかな?
ちょっと設定が複雑で時間がかかりそうです。
_人人人人人人人人人人人人人_
> 難しいのでペンディング <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
課題
現状の問題点
• 設定方法が複雑
• 設定箇所が複数ありイメージが困難
• Management Consoleで設定出来ない
• ブログなどで公開されているものの、手順だけを
記載したものが多い
使いはじめるにはハードルが高い
対策
• 設定を開始する前に全体を把握
• どんな設定をするか概要を把握して
恐怖感をなくす
最初に概要を把握
Auto Scalingの薄い説明書が必要
Auto Scalingの説明
Auto Scalingとは?
• 条件に応じてEC2を拡張/縮小
• 負荷が増えたら台数増やす
• 負荷が減ったら台数減らす
Auto Scalingで設定するもの
• 大きく以下の6つを設定します
• Launch Config
• Auto Scaling Group
• Scale Out Policy
• Scale Out Alarm
• Scale In Policy
• Scale In Alarm
全体像
①Launch Config
• 起動するEC2の設計書
• 起動するAMI
• インスタンスタイプ
• SSHキー
• セキュリティグループ
EC2を起動するときに指定するものと同じ
②Auto Scaling Group
• Auto Scaling全体の設計
• 使用するLaunch Config
• 最大起動台数
• 最小起動台数
• 使用するAZ
• 使用するELB(必須ではない)
• ヘルスチェックの設定
③Scale Out Policy
• スケールアウト設計書
• 増加させる台数
• スケール後の待機時間
④Scale Out Alarm
• 監視閾値とアクションの設計
• CloudWatchの監視間隔
• 監視する対象を指定
• 監視に使うメトリクス(CPU使用率など)
• 閾値となる数値
• 閾値に対する比較演算子
• アクションを実行までの評価回数
• 閾値に達した場合に実行するアクション
• アクションはScale Out Policy
⑤Scale In Policy
• スケールアウト設計書
• 減少させる台数
• スケール後の待機時間
⑥Scale In Alarm
• 監視閾値とアクションの設計
• CloudWatchの監視間隔
• 監視する対象を指定
• 監視に使うメトリクス(CPU使用率など)
• 閾値となる数値
• 閾値に対する比較演算子
• アクションを実行までの評価回数
• 閾値に達した場合に実行するアクション
• アクションはScale In Policy
サンプル設定
Launch Config
$ as-create-launch-config demo-lc 
--image-id ami-xxxxxxxx 
--instance-type t1.micro 
--key demo_key 
--group demo_security_group
Auto Scaling Group
$ as-create-auto-scaling-group demo-as-group 
--launch-configuration demo-lc 
--availability-zones us-east-1a us-east-1b 
--min-size 2 
--max-size 4 
--load-balancers "demo-elb" 
--health-check-type ELB 
--grace-period 60
Scale Out Policy
$ as-put-scaling-policy demo-scaleout-policy 
--auto-scaling-group demo-as-group 
--type ChangeInCapacity 
--adjustment=2 
--cooldown 600
Scale Out Alarm
$ mon-put-metric-alarm demo-scaleout-alarm 
--period 300 
--dimensions "AutoScalingGroupName=demo-as-group" 
--namespace "AWS/EC2" 
--metric-name CPUUtilization 
--evaluation-periods 1 
--statistic Average 
--threshold 70 
--comparison-operator GreaterThanThreshold 
--alarm-actions arn:aws:autoscaling:us-
east-1:123456789012:scalingPolicy:xxxxxxxxx-e103-4efe-
xxxx-59be5c870198:autoScalingGroupName/demo-as-
group:policyName/demo-scaleout-policy 
--alarm-actionsはscale out policy作成
時に出力されたものを指定します
Scale In Policy
$ as-put-scaling-policy demo-scalein-policy 
--auto-scaling-group demo-as-group 
--type ChangeInCapacity 
--adjustment=-2 
--cooldown 600
Scale In Alarm
$ mon-put-metric-alarm demo-scalein-alarm 
--period 300 
--dimensions "AutoScalingGroupName=demo-as-group" 
--namespace "AWS/EC2" 
--metric-name CPUUtilization 
--evaluation-periods 1 
--statistic Average 
--threshold 30 
--comparison-operator LessThanThreshold 
--alarm-actions arn:aws:autoscaling:us-
east-1:123456789012:scalingPolicy:xxxxxxxxx-e103-4efe-
xxxx-59be5c870198:autoScalingGroupName/demo-as-
group:policyName/demo-scalein-policy 
--alarm-actionsはscale in policy作成
時に出力されたものを指定します
ありがとうございました
詳しくは公式ドキュメントをご覧ください

More Related Content

Auto Scalingの薄い資料