Auto Scaling を試してみた


Auto Scaling の概要については

Auto Scaling

なお、起動に失敗した場合はエラーメッセージに従って、下記のリファレンスを参考にトラブルシュートをするとよい。
Amazon EC2 Auto Scaling のトラブルシューティング: EC2 インスタンスの起動失敗

■事前準備

ELBは予め作成済のものとします。

1.起動設定

「起動設定」から「起動設定の作成」

1. AMI の選択
今回は作成済のAMIから起動するようにしました。

以下は通常のEC2インスタンスの起動と同じ設定なので、詳細は省略します。
2. インスタンスタイプの選択
3. 詳細設定
4. ストレージの追加
5. セキュリティグループの設定
6. 確認

2.Auto Scaling グループの作成

1. Auto Scaling グループの詳細設定

今回はMIN:2、MAX:4でAuto Scalingを作成するので、
 [グループサイズ]は「2」にしておきます。

ELBも設定していくので、
 [ロードバランシング]にチェック、
 [ターゲットグループ]は予め作成済のもの、
 [ヘルスチェックのタイプ]はELB
で作成しておきます。

2. スケーリングポリシーの設定

「スケーリングポリシーを使用して、このグループのキャパシティを調整する」にし、
「スケーリング範囲 2 および 4 インスタンス。これらは、グループの最小サイズと最大サイズになります。」にする。

スケールアウト
CPU使用率が40%を超えた場合に2インスタンス増やすように設定します。

スケールイン
CPU使用率が10%以下になった場合に2インスタンス減らすように設定します。

3. 通知の設定
インスタンスの起動成功、インスタンスの起動失敗、インスタンスの終了、インスタンスの終了失敗など、指定されたイベントの発生時に、指定されたエンドポイント(メールアドレスなど)に通知を送信するように設定できますが、今回は設定しないものとします。

4. タグを設定
Auto Scaling で作成されたEC2インスタンスであることがわかるようにタグをつけておきましょう。

5. 確認
設定完了です。

3.作成されたことを確認する

EC2インスタンスを確認すると実際に、2個作成されたことが確認できました。

ELBのターゲットグループからも2つのEC2インスタンスが、healthy(成功)していることがわかります。

4.負荷をかけて Auto Scaling が動いていることを確認する

yesコマンドで負荷をかけた後、EC2インスタンスが4になっているか確認する。

$ yes dev/null &
$ top

EC2インスタンスが4になっていることを確認した後、killコマンドで停止して、EC2インスタンスが2になっているか確認する。

$ top
$ kill <PID>