Amazon EC2編~ELBでAuto Scalingをしてみよう!パート③~

こんにちは!Rookieです。

前回のレシピでは『Amazon EC2編~ELBでAuto Scalingをしてみよう!パート②~』と題して、Auto Scalingをおこなうのに必要なAPIツールのセットアップ方法について記述しました。

今回も引き続き『Amazon EC2編~ELBでAuto Scalingをしてみよう!パート③~』ということで、今回のレシピでは実際にパート②にてセットアップをおこなったAPIツールを使ってAuto Scalingの設定を試していきたいと思います。

なおAuto Scalingの設定をおこなう際、ELBの起動とAMIの作成が必要になりますので用意をされていない場合は、下記のレシピを参照していただき事前準備をおこなっておいてください。

Amaon EC2~ELB設定編~
Amazon EC2編~SnapshotやAMIを使ったバックアップと運用パート①~

それでは実際に、作業をおこなっていきましょう!
Auto Scalingは、4つの作業をおこなうことで1つのスケーリング設定が完了します。


Amazon Launch Config

 

 

1. まず、Auto Scalingの際に起動されるインスタンスの設定をおこないます。

なお、入力する必要がある項目について以下に簡単にまとめておきます。

入力項目 内容
Image-id 対象インスタンスのAMI-ID
Key 対象インスタンスのキーペア
Gropup 対象インスタンスのセキュリティグループ
Instance-type スケーリング時に起動するインスタンスタイプ

Auto Scaling Group

2. 次に、Auto Scaling時の基本設定をおこないます。

なお、入力する必要がある項目について以下に簡単にまとめておきます。

入力項目 内容
as-create-auto-scaling-group 作成するAuto Scaling Groupの任意名称
launch-configuration 設定するLaunch Configurationの任意名称
min-size,max-size Auto Scaling時に起動するインスタンスの最小数と最大数
availability-zones スケーリング時にインスタンスを起動するゾーン
load-balancers 対象インスタンスにひもづいているELB


Auto Scaling Policy

 

 

3. 続いて、Auto Scalingの動作を設定します。
※コマンド実行時に返ってくる値は次の設定で使用しますのでメモしておいてください。

なお、入力する必要がある項目について以下に簡単にまとめておきます。

入力内容 内容
as-put-scaling-policy 設定するAuto Scaling Policyの任意名称
Auto-scaling-group ②の作業で設定したAutoScalingGroupの名称
Adjustment  Auto Scalingによって変動するインスタンス数の範囲


Metric Alarm

 

 

4. 最後に、実際に負荷を受けた時のスケーリング条件について設定します。

なお、入力する必要がある項目について以下にまとめておきます。

入力項目 内容
mon-put-metric-alarm 設定するアラームの任意名称
metric-name しきい値として利用する監視項目
period CloudWatchによる監視間隔
threshold CloudWatchが対象とするしきい値
evaluation-periods しきい値オーバーが発生した場合のトリガーの発動回数
AutoScalingGroupName ②の作業で作成したAutoScalingGroupの名称
alarm-actions ③の作業にてメモした値

これで、スケールアウトの設定は完了です!

後は実際にJMeter等の負荷テストツールを使用して対象インスタンスに負荷をかけ、設定に問題がなければ正常にスケールアウトされるはずです。

ただ、これだけだとインスタンスがスケールアウトしたらそのまま稼動し続けてしまいます。
負荷が減少してきたら、インスタンスも減っていくようにスケールインの設定もおこなっておきます。


Auto Scaling Policy

 

 

1. まずは、スケールイン時の動作について設定します。

なお、入力する必要がある項目について以下に記述しておきます。

入力項目 内容
as-put-scaling-policy 設定するスケールインポリシーの任意名称
Auto-scaling-group 作成したAutoScalingGroupの名称
Adjustment スケールインによって変動するインスタンス数の範囲


Metric Alarm

 

 

2. 続いて、スケールイン条件を指定します。

入力項目 内容
mon-put-metric-alarm  設定するアラームの任意名称
metric-name  しきい値として利用する監視項目
period CloudWatchによる監視間隔
threshold CloudWatchが対象とするしきい値
evaluation-periods しきい値オーバーが発生した場合のトリガーの発動回数
AutoScalingGroupName AutoScaling設定の②の作業で作成したAutoScalingGroupの名称
alarm-actions AutoScaling設定の③の作業にてメモした値

いかがでしたでしょうか?
Auto Scalingの設定をおこなっておけば、急な負荷の増大また、負荷が減少した際なども自動で対応することができますので是非、おこなってみてください!

次回は『Amazon CloudWatch編~監視スクリプトを使ってみよう!パート①~』と題して、CloudWatchの監視スクリプトの利用方法についてお話していきたいと思います。
お楽しみに!

この記事を書いた人

aws-recipe-user