AWS EC2 オートスケール実践編

  • 5
    Like
  • 0
    Comment

概要

① CPUの使用率の閾値(例:60%)を超えると新しいインスタンスを立ち上げる
② AWS EC2を利用

アラームの作成

AWS CloudWatchの画面からアラームを作ります
17.png

CPU使用率(CPUUtilization)をメトリクスとし、インスタンス生成の判断基準とします。
16.png
14.png

アクションは何かを追加してもOKだが、後でサーバー追加・サーバー削除する際に通知をするのでここでは空にした。

>>アラームの準備が出来たので、アラームを検知すると起動するインスタンスを準備する。

スケールさせるイメージを作る前の準備

オートスケールで起動したインスタンスのコードは古いままになってしまうため、起動時にgitリポジトリから最新のコードを取得するようにする。

Gitから最新のコードを取得するスクリプト

self-deploy.sh
cd {git-repository}
git pull origin master

起動時にスクリプトを実行させるようにcronを設定

crontab-l
@reboot /home/ubuntu/self-deploy.sh

スケールさせるイメージの作成

20.png

起動設定(テンプレート)の作成

EC2画面の左サイドメニューの下の方に「AUTO SCALING」がある。
そこからAuto Scaling グループを作成する
19.png
18.png
13.png

先ほど作成したイメージを選択する
12.png

※イメージタイプは自分の好きなものにしてください
10.png

※セキュリティグループは既存のもの
8.png

これでテンプレート(起動設定)が完了。
そのまま続けます。

Auto Scaling グループの作成

7.png

※ スケールさせるサーバー台数は最大3台
6.png

※ 新しく建てたインスタンスのCPU使用率が20%を切ったらインスタンス削除する設定を入れておく
5.png

※ インスタンスの起動・終了時に通知を行うようにしてもらう。
4.png

※ タグ「Name」を設定しておくと、一覧で見るときに便利
3.png

[動作確認] CPU使用率により新しくインスタンスが立ち上がる

2.png

LB にも自動的に接続している
1.png

初めてオートスケール行いました。
これで急激なアクセス集中が来ても手動スケールアウトから解放される・・・かも・・・?