はじめに
CloudWatchでアラームの検証をやってみます。
EC2インスタンスのCPU使用率が条件を満たしたらメールを送信するようにします。
- CPU使用率の平均が30パーセントを超えた時
- 5回中3回で閾値を超えた時
- 監視間隔は1分
作業の流れ
- EC2インスタンスの作成
- SNSの設定
- CloudWatchの設定
手順
1.EC2インスタンスの作成
以下のURLを参考にEC2インスタンスを作成して下さい。
https://it-study.info/aws-vpc-setup-method/
インスタンス作成後は「stress」ツールをインストールして下さい。
2.SNSの設定
トピックの作成
SNSサービスにアクセスします。
左サイドバーから「トピック」をクリックします。
「トピックの作成」ボタンをクリックします。
以下の通り設定します。
・タイプ:スタンダード
・名前:Mail
「トピックの作成」ボタンをクリックします。
サブスクリプションの作成
左サイドバーから「サブスクリプション」をクリックします。
「サブスクリプションの作成」ボタンをクリックします。
以下の通り設定します。
・トピックARN:作成したトピックを選択(Mail)
・プロトコル:Eメール
・エンドポイント:任意のメールアドレス
「サブスクリプションの作成」ボタンをクリックします。
入力したメールアドレスにAWSからメールが届きます。「Confirm subscription」リンクをクリックします。
件名:AWS Notification - Subscription Confirmation
---------------------------------------------------------------------------
You have chosen to subscribe to the topic:
arn:aws:sns:ap-northeast-1:920319510847:Default_CloudWatch_Alarms_Topic
To confirm this subscription, click or visit the link below (If this was in error no action is necessary):
Confirm subscription
Please do not reply directly to this email. If you wish to remove yourself from receiving all future SNS subscription confirmation requests please send an email to sns-opt-out
ブラウザに以下のメッセージが表示されたら確認完了です。

3.CloudWatchの設定
CloudWatchサービスにアクセスします。
左サイドバーから[アラーム]-[すべてのアラーム]をクリックします。
「メトリクスの選択」ボタンをクリックします。
「EC2」をクリックします。
「インスタンス別メトリクス」をクリックします。
メトリクス名が「CPUUtilization」になっている項目をチェックし、「メトリクスの選択」ボタンをクリックします。

以下の通り設定します。
・統計:平均値
・期間:1分
・しきい値の種類:静的
・CPUUtilization が次の時…:より大きい
・… よりも:30
・アラームを実行するデータポイント:3/5
・欠落データの処理:欠落データを見つかりませんとして処理
「次へ」ボタンをクリックします。
・アラーム状態トリガー:アラーム状態
・次の SNS トピックに通知を送信:既存の SNS トピックを選択
・通知の送信先:Mail
「次へ」ボタンをクリックします。
・アラーム名:TestAlarm
・アラームの説明:Alarm test.
「次へ」ボタンをクリックします。「アラームの作成」ボタンをクリックします。
動作確認
EC2インスタンスにsshで接続します。stressツールを使用してCPUに負荷をかけます。
CloudWatchでアラーム状態になっていることを確認します。

AWSからアラームメールが届いていることを確認します。
stressツールで5分間、CPUに負荷をかけたのでアラームとメールの送信が確認できました。
もし2分間だけ負荷をかけた場合は「アラームを実行するデータポイント:3/5」に合致しないのでアラーム状態にならずメールも送信されません。
コメント