AWS初心者がAmazon EC2 AutoScalingを試してみる

初めましてAWS初心者のSATO論外です。
AWS使用率100％の会社に転職した私がAWSの華とも言えるAutoScalingを初めて触ってみたので
お試し記事を書いてみました。
(Qiitaの投稿も初めてなんです。。。)

#AutoScalingってなんぞ？
　AWS初心者のそもそもAutoScalingが何者なのかがフワッとしかわかっていないので(お恥ずかしい。。。)
　とりあえず調べてみる！

　○AWSのドキュメント
　　[Amazon EC2 Auto Scaling (日本語)](https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)

　○その他参考にしたページ
　　[【AWS】AutoScalingを使う際の注意点についてまとめてみました](https://dev.classmethod.jp/cloud/aws/autoscaling_considerations-for-system-configuration/)

　調べてみたところ__CloudWatch__と連携して__EC2の負荷__・__ELBのリクエストの増減__・__EC2インスタンスの異常__などに
　応じて__インススタン数を自動で増減してくれる機能__とのこと。。。

　__複数のAZ(Availability Zone)を設定することもできる__様なので
　AZで障害があった場合でもこれなら切り抜けられるはず！
　すごい機能です！！

#実際にAutoScaling試してみた！
- Auto Scaling グループの起動テンプレートの作成
 - コンソール画面の `AUTO SCALING`から`起動設定`を選択
 - `新規設定の作成`で起動設定を作成していきます(作り方はEC2インスタンスを作成するときと同じ様な感じです)  
    今回は以下の設定  
    ・Amazon Linux 2 AMI  
    ・タイプ：t2.micro  
    ・起動設定は名前だけ入力  
    ・ストレージ/セキュリティグループはそのまま
- 起動テンプレートを使用して Auto Scaling グループを作成する
 -  コンソール画面の `AUTO SCALING`から`Auto Scaling グループ`を選択
 - `Auto Scaling グループの作成`でグループを作成
 -  `起動設定`で作成した設定を選択して次のステップ
 -   `Auto Scalingグループ` の詳細設定の各項目を設定  
    今回は以下の設定  
    ・グループ名を入力  
    ・サブネットにa-cのAZ(Availability Zone)を設定  
    ・モニタリング（CludWatch詳細モニタリングを有効化）にチェック
 -   `スケーリングポリシーの設定` でスケールグループサイズを入力
![スクリーンショット 2020-03-06 8.48.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/cfc28a50-5bbe-f96b-e52a-68f943a0c796.png)
　今回はCPUの平均使用率が50％を超えた場合に3インスタンスまでスケールアウトする様にしました！
 -  `通知の設定` は特になし
 - `タグを設定` でNameに任意の名前を設定
 - 最後に `確認` 画面にて `AutoScalingグループの作成` をクリック  
   設定がうまくいくとAutoScalingグループが作成されて新規のインスタンスが立つあがります！
- 実際にEC2インスタンスに負荷をかけまくってみた！
 - コンソール画面でCPU使用率を確認するとまだ0.1ぐらいなのでこれではAutoScalingは発動しないですね  
   ![スクリーンショット 2020-03-06 9.13.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/d365fc02-1814-1672-426e-c0e2f852889b.png)
 - 思いっきり負荷をかけるために作成したインスタンスにiTermを使用して入ります
 - コマンドラインからyesコマンドを実行して負荷をかけてみます
 　CloudWatchのモニタリングの詳細を確認するとCPU使用率がぐんぐん上がりCPU使用率も70％を超えました！
![スクリーンショット 2020-03-06 9.20.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/8c9a6cfd-29c4-e11a-f388-24c031490f3c.png)
 - しかし少したつとCPU使用率が10%ほどに落ち込んでしまったので第2・第3のiTermを起動してyesコマンドで負荷をかけまくります
 ![スクリーンショット 2020-03-06 9.27.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/6b6993d3-5d1e-ffa7-c083-8045d3def25e.png)
- __おいでませ新しいインスタンス！__  
  負荷をかけまくった結果！無事AutoScalingが発動！！  
  各AZ(Availability Zone)にインスタンスがどんどん立ち上がっていきます！
![スクリーンショット 2020-03-06 9.33.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/31a0955f-a014-9567-114f-dc8497fef4ab.png)
- __さらば使用しないインスタンス__  
 スケールアウトは十分確認できたのでお次はスケールインを確認したいと思います！  
 先ほどiTermで実行していたyesコマンドを全て終了します！
 ![スクリーンショット 2020-03-06 9.42.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/b7a2bca3-da9b-a1e8-3b08-29cbc205b9ea.png)
  CPU使用率が一気に下がりました！あとはしばらく待ちます！  
![スクリーンショット 2020-03-06 9.53.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563324/10c4db50-174c-b907-4502-18d8d6103a58.png)
 CPU使用率が下がったので使用しないインスタンスが無事スケールインされました！！  

## やってみた感想  
操作手順など覚えることは色々ありますが正直難しい手順は一個もなかったです
こんなに簡単にスケールイン・スケールアウトが実行できるなんて。。。AWS恐るべし。。。
まだまだ試したいサービスはあるので他にも色々やっていこうと思います！