Auto Scalingの薄い資料
-
Upload
serverworks-coltd -
Category
Technology
-
view
11.055 -
download
2
Transcript of Auto Scalingの薄い資料
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作成時に出力されたものを指定します
ありがとうございました詳しくは公式ドキュメントをご覧ください