【AWS】AutoScaling検証

## はじめに
現在、AWS SAAを勉強中（自己学習用のブログ）。
## 目的
・Auto Scalingの起動設定とAuto Scalingグループを理解する。
※今回は「ELB」を作成せずにAutoScalingを構成する。
## 1.起動設定を作成
▼Auto Scaling　→ 起動設定をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/6d0c93d5-28ec-3647-167b-42ad4d53caa8.png)
[起動設定の作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/37bd6645-c10a-535e-683f-fed6f6f8673f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/8e698e0d-717a-0048-963a-e96772a92308.png)
・追加設定- 高度な詳細
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/6b1e21c1-746f-88cc-e655-6f8e94ecc321.png)
・自宅のPCからアクセスするので、パブリックIP割り当てをON
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/4a7f59a6-93fc-1161-41cf-8be749a63f33.png)
・セキュリティグループは既存のEC2用の選択
　(別途インバウンドにルールを追加「TCP/ポート22/IP・CIDER」）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/b3bbc31d-d56c-0971-79de-79135169bbe8.png)
・キーペアも既にあるものを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/3d6a74f7-d53d-36c5-4400-782c88f2b402.png)
・起動設定 作成完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/05a9f703-de4c-5d8c-0aac-b11da763d9ef.png)
## 2.AutoScalingグループ作成
・名前と起動設定を設定して[次へ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/30db4d74-db63-5f84-549c-b05c913e5c5f.png)
・ネットワーク設定
　以下選択をして[次へ]
　VPC：テスト用VPC
　アベイラビリティゾーンとサブネット：パブリックのAとCゾーン![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/c478320b-cfae-3b20-0d3d-6424f267fd2b.png)
・詳細オプション
　ELB作成しないので「ロードバランサーがありません」を選択して[次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/cf6c7fb8-2647-7ed5-467e-10a3e34a3bb2.png)
・グループサイズ
　最大キャパシティを「2」に変更して[次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/b8a78ddd-ec51-0e34-8342-be060ffff1de.png)
・通知を追加
　何も設定せずに[次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/e3fe0414-1333-5ba8-e644-94a987b35776.png)
・タグを追加
 Nameタグを付与して[次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/894d803c-7fc4-986f-71af-e81a6bf04c5e.png)
 [AutoScalingを作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/5cfd3381-437b-a8d3-f39b-5b2813a6f9ff.png)
・AutoScalingグループ 作成完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/3505bcbc-93f9-7527-92c6-79821a409db5.png)
.EC2インスタンスが自動的に起動される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/45e9b558-e761-7f9d-1b06-5d83f61a1a05.png)
★追記（検証して分かった事）
　スケールインしなかったので、以下設定を追加
　「詳細タブ」 → 「高度な設定」→ [編集]をクリック
　　→「インスタンススケールイン保護を有効にする」をチェック
　　※グループの詳細→希望する容量が自動的に「1」→「2」に変更されるので「1」に設定変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/fdb21ba1-3a24-20f2-cd30-2a822a369e0d.png)
## 3.自動スケーリングポリシー設定
・作成したAutoScalingグループ「test-auto-scaling-gp」を選択し
　「自動スケーリング」タブ → [動的スケーリングポリシー]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/179ab0e4-7db3-5ca7-5ae9-a995450464d2.png)
・動的ポリシーを設定し、[作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/1542d3b3-e239-e450-1075-20a9307395f8.png)
## 4.CloudWatchアラーム設定
▼アラーム → すべてのアラーム → [アラームの作成]をクリック 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/c2078d70-a2fc-3706-1c52-6caa137d79b0.png)
・EC2を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/51d6b1e1-b77d-d35c-3186-ee3fc2c43d82.png)
・Auto Scalingグループ別を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/77ed8bf1-57ef-583f-4b5f-7bbcb46ed331.png)
・CPUUTilizationを選択し[メトリックスの選択]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/e28b5aad-1997-7ebe-fb67-b4b019558f7f.png)
・メトリクスと条件の指定
　統計：平均値　期間：１分
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/33eae135-a4f0-55f2-54f5-e21d7169caec.png)
・条件
　CPU使用率 60%でAutoScalingが発動するよう設定し[次へ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/6245290e-c170-f678-bbea-12fbb0daa1c1.png)
・通知の設定
　通知不要なので[削除]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/f5aef8c7-523f-c02a-1a94-f2b3a763a3a1.png)
・AutoScalingアクションを追加。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/d6887342-4590-7d35-4d8c-ab4f3b661081.png)
　以下項目を設定し[次へ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/875aa1b8-1b30-8074-adc0-90f3fd6ff07c.png)
・名前と説明を設定し[次へ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/006f2854-e6f4-b85c-290a-500a48e8c14b.png)
・アラームの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/e1055732-4268-7ba4-8eac-88f8ddf6a43e.png)
・アラーム作成完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/1632d7f5-9e3e-4c1c-5b93-0b5a00a8dadf.png)
## 5.検証
・対象サーバにログインし、以下コマンドを入力し負荷をかける。
```
# openssl speed -multi `grep processor /proc/cpuinfo|wc -l`
```

```
# top
top - 07:22:08 up 35 min,  2 users,  load average: 0.48, 0.14, 0.04
Tasks: 201 total,   4 running, 197 sleeping,   0 stopped,   0 zombie
%Cpu(s): 99.5 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.3 hi,  0.2 si,  0.0 st
MiB Mem :    780.9 total,     80.1 free,    348.5 used,    352.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    277.3 avail Mem
```
・CloudWatch 閾値越えを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/52b229bc-1e75-7e3f-6eb3-5e89267e287c.png)
・アラーム検知
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/53ad5bfb-9ddd-509b-83bf-fe0c87bf38ab.png)
・２台目のEC2インスタンスが起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/5b6cd5b6-d787-d221-f2f6-fd66a379c780.png)

## 参考サイト
[【AWS Cloud Watch】CloudWatchアラームによるCPU使用率監視とAutoScalingとの連携](https://qiita.com/OPySPGcLYpJE0Tc/items/041f3b32c875e8ff1f72)
[Linuxで手軽にCPU/メモリの負荷をかける方法](https://qiita.com/keita0322/items/8fba88debe66fa8d2b39)