📑

【AWS】AutoScale対応のブログサイトを作る(2)

2021/02/07に公開

こちらの記事からの続きです。
https://zenn.dev/anaka/articles/1d5467d56b11aa

CloudWatchを使って、Auto Scalingグループを増減させる条件を指定する。
今回の設定条件は以下のとおりとする。
増 平均CPU使用率が70%より大きい
減 平均CPU使用率が30%より低い

AWSマネジメントコンソールにて、CloudWatchを検索し、クリック

左ペインから、アラームをクリック

アラームの作成をクリック

メトリクスの選択をクリック

EC2をクリック

Auto Scalingグループ別をクリック

[作成したAuto Scalingグループ名]のCPU Utilizationにチェックを入れ、メトリクスの選択をクリック

条件を
静的、より大きい、70を入力し、
欠落データの処理は「欠落データを不正(しきい値を超えている)として処理」を選択

通知先は、既に作成しているものを指定する。
その後、次へをクリック

アラーム名を入力し、次へをクリック

問題なければ、アラームの作成をクリック

同じ要領で、CPU使用するアカウントは30%より低い場合のアラームを作成する。
2つのアラームを作成したあとの画面は以下のとおり。
CPU-Lowがアラーム状態となっていることにドキッとするが、これはCPU使用率が低いことを意味しているので問題ない。

Auto Scalingに、上記で作成したCloud Watchアラームを紐付けていく。
EC2のAuto Scalingグループ画面から、作成したAuto Scalingグループ名をクリックする。

自動スケーリングタブをクリック

ポリシーを追加をクリック

スケーリングポリシー名と、紐付けるCloudWatchアラームを選択する。
まずは、EC2インスタンス追加のポリシーを作成する。
アクションの1キャパシティユニット追加は、1台のEC2インスタンスを追加することを意味する。
待機時間は、EC2インスタンスを追加したあとの待機時間を入力する。

スケーリングポリシーが作成された。

同じ要領で、EC2インスタンス削除のポリシーを作成する。

EC2インスタンス追加・削除のポリシーが作成された。

一通りの作成が完了したため、期待どおりに動作するか負荷試験を行ってみる。
両方のEC2インスタンスに接続し、yesコマンドで故意にCPU負荷をかける。



CPU使用率が100%近くまで上昇

CPU高負荷のアラームが発動

アラームをトリガーとして、新たに2つのEC2インスタンスが起動し、計4つとなった。

今度は、負荷をかけているプロセスを停止する。

CPUの高負荷アラームが解除

連動して、EC2インスタンスが削除された。
なかなか削除されないので、ちょっと焦った。

スクショ貼りながら、動画を見返しながらの復習だったので、予想以上に時間がかかってしまいました..

以上

Discussion