はじめに
現在、AWS SAAを勉強中(自己学習用のブログ)。
目的
・Auto Scalingの起動設定とAuto Scalingグループを理解する。
※今回は「ELB」を作成せずにAutoScalingを構成する。
1.起動設定を作成
▼Auto Scaling → 起動設定をクリック

[起動設定の作成]をクリック


・追加設定- 高度な詳細

・自宅のPCからアクセスするので、パブリックIP割り当てをON

・セキュリティグループは既存のEC2用の選択
(別途インバウンドにルールを追加「TCP/ポート22/IP・CIDER」)

・キーペアも既にあるものを選択

・起動設定 作成完了

2.AutoScalingグループ作成
・名前と起動設定を設定して[次へ]をクリック

・ネットワーク設定
以下選択をして[次へ]
VPC:テスト用VPC
アベイラビリティゾーンとサブネット:パブリックのAとCゾーン
・詳細オプション
ELB作成しないので「ロードバランサーがありません」を選択して[次へ]

・グループサイズ
最大キャパシティを「2」に変更して[次へ]

・通知を追加
何も設定せずに[次へ]

・タグを追加
Nameタグを付与して[次へ]

[AutoScalingを作成]をクリック

・AutoScalingグループ 作成完了

.EC2インスタンスが自動的に起動される。

★追記(検証して分かった事)
スケールインしなかったので、以下設定を追加
「詳細タブ」 → 「高度な設定」→ [編集]をクリック
→「インスタンススケールイン保護を有効にする」をチェック
※グループの詳細→希望する容量が自動的に「1」→「2」に変更されるので「1」に設定変更

3.自動スケーリングポリシー設定
・作成したAutoScalingグループ「test-auto-scaling-gp」を選択し
「自動スケーリング」タブ → [動的スケーリングポリシー]をクリック

・動的ポリシーを設定し、[作成]をクリック

4.CloudWatchアラーム設定
▼アラーム → すべてのアラーム → [アラームの作成]をクリック

・EC2を選択

・Auto Scalingグループ別を選択

・CPUUTilizationを選択し[メトリックスの選択]をクリック

・メトリクスと条件の指定
統計:平均値 期間:1分

・条件
CPU使用率 60%でAutoScalingが発動するよう設定し[次へ]をクリック

・通知の設定
通知不要なので[削除]をクリック

・AutoScalingアクションを追加。

以下項目を設定し[次へ]をクリック

・名前と説明を設定し[次へ]をクリック

・アラームの作成

・アラーム作成完了

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 閾値越えを確認

・アラーム検知

・2台目のEC2インスタンスが起動

参考サイト
【AWS Cloud Watch】CloudWatchアラームによるCPU使用率監視とAutoScalingとの連携
Linuxで手軽にCPU/メモリの負荷をかける方法