AWS:AutoScaling オートスケーリングについて
オートスケーリングとは
必要に応じてEC2インスタンスを増減してくれる便利な機能。 ![IMG_84970B690799-1.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1226984/3fa4746b-346f-9da1-88a8-88e487cbe511.jpeg)まずは起動テンプレートを作成
EC2インスタンス>起動テンプレート>起動テンプレートを作成 それぞれ、必要に応じてカスタマイズをする。アクションメニューからバージョンをつけて設定の更新ができる。これが最大の特徴。
☆インスタンスのアクションから「イメージ&テンプレート」を選択しても作成可能。
AutoScalingグループを作成
AutoScaling>AutoScalingグループ>AutoScalingグループを作成
名前や作成したテンプレートを選択し、容量を選択。最小、希望、最大の容量を設定。
注意:インスタンスのスケールイン保護を有効にすると、使用率などが低くなっても削除されないという設定になる。
Autoという名前のついたインスタンスが立ち上がる。
アラームの設定とCloudWatch
CloudWatch>アラーム>アラームの作成 ・メトリクスを選択 ・しきい値の設定この設定を70%以上と30%以下で作成する。
スケーリングポリシーでCloudWatchのアラームを紐付け
AutoScalingグループからスケーリングポリシーを設定。 ![スクリーンショット 2021-11-03 22.39.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1226984/974f49e1-b546-2fd5-8b08-97cb647fef1e.png)こちらも削除と追加の二つを作成する。
負荷をかけてテストをしてみる
・インスタンスに接続からLinuxコマンド”TOP"で状態を確認(抜けるにはctrl+c) ・ yes >> /dev/null & →&はバックグラウンドで実行というコマンド →yes >> ひたすら yesを出力し続けるこれを4回ほど叩いて負荷をかける(あるインスタンス分。今回は2つ)
しばらく時間をおいてみると、インスタンスが最大の4つにまで作成され、安定すると自動で削除される。
負荷の解除は、
TOP で PIDの番号を取得し、kill {3091..3096} ←例
のように、連番になっている番号で一括でKillする。
まとめ
一連の必要な設定、流れを掴むと簡単に自動でスケーリングしてくれるなんて、本当に便利な機能ですね! 例えるなら、飲食店の1日のような感じですね。 朝からお昼前はお客さんが少ないのでスタッフも少なく、ランチタイムのピークに向けてスタッフを増員、そして夜のピークタイムまではまた人員を減らし、ピークタイムに人員を増やす。 そんなイメージを頭の中で描きながらやってみるととても面白いですよね。 しかも自動で調整してくれるなんて、本当に便利ですね!この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com