LoginSignup
0
0

More than 1 year has passed since last update.

CloudWatchAlarmのアラーム発動時間をスケジューリングしました。(EventBridge + Lambda + CloudWatch)

Posted at

はじめに

こんにちは、山田です。
今回は、CloudWatchAlarmのアラーム発動時間をスケジューリングしました。

構成図

EventBrigdeにて、CloudWatchAlarmを無効/有効化する時間帯をスケジューリングする。
Lamandaにて、時間になったら、CloudWatchAlarm無効/有効化アクションを実行する。
image.png

Lambdaの作成

① AWS管理コンソール -> Lambda -> 関数 -> 関数の作成をクリックする。

② 関数名を入力する。
 ※今回は「CloudWatchAlarm-enable-action」「CloudWatchAlarm-disable-action」としました。

③ 使用する言語はPython3.8を選択する。

④ 設定 -> アクセスの権限 -> 実行ロールの編集をクリックし、CloudWatchAlarmへのアクセス権限を持つロールを選択する。
※IAMロールがない場合、新規で作成する。

⑤ CloudWatchAlarm-enable-actionとCloudWatchAlarm-disable-actionのコードを入力する。

CloudWatchAlarm-enable-action
import boto3

def lambda_handler(event, context):
    cloudwatch = boto3.resource('cloudwatch')
    alarm = cloudwatch.Alarm('test-alerm') #今回は「test-alarm」を対象。

    alarm.enable_actions()
CloudWatchAlarm-disable-action
import boto3

def lambda_handler(event, context):
    cloudwatch = boto3.resource('cloudwatch')
    alarm = cloudwatch.Alarm('test-alarm')  #今回は「test-alarm」を対象。

    alarm.disable_actions()

EventBrigdeルールの作成

① AWS管理コンソール -> EventBridge -> ルール -> ルールを作成をクリックする。

② 名前を入力する。
※今回は、「CloudWatchAlarm-enable-action-rule」「CloudWatchAlarm-disable-action-rule」とする。

③ cron式でスケジューリングする。
今回は、毎年1月22日の午前10時30分にスケジューリングしてます。
image.png

④ ターゲットに先ほど作成した、Lambda関数を選択する。
今回はCloudWatchAlarm-disable-actionを選択し、時間になったらClouWatchAlarmが無効化になっていることを確認する。
image.png

動作確認

① AWS管理コンソール -> CloudWatch -> すべてのアラームをクリックする。
② アクションが無効化になっていることを確認する。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0