CloudWatch Alarm のアラームを作成するコマンド
EC2インスタンスの「StatusCheckFailed_Instance」メトリクスを監視し、アラーム時に再起動させる設定
aws cloudwatch put-metric-alarm \
# アラームの名前。CloudWatch Alarm では、この名前がキーとなる点に注意(後から変更不可)
--alarm-name "hoge" \
# (任意)アラームの説明
--alarm-description "StatusCheckFailed_Instance alarm for i-0a531704ae2f61031" \
# 監視するメトリクスの名前(CloudWatch Alarm は1つのアラームには、メトリクス1つだけしか設定できない仕様)
--metric-name "StatusCheckFailed_Instance" \
# メトリクスが属するAWSサービスの名前を設定(他には AWS/S3 や AWS/RDS なども設定できる)
--namespace "AWS/EC2" \
# メトリクスの集計方法
--statistic "Average" \
# メトリクスを集計する期間を秒単位で設定。ここでは 60 秒としている
--period 60 \
# アラームの閾値
--threshold 0 \
# アラームが発生する条件。ここでは、閾値「以上」という設定としている
--comparison-operator "GreaterThanThreshold" \
# メトリクスを取得する対象
--dimensions "Name=InstanceId,Value=i-[EC2インスタンスのID]" \
# アラームが継続している必要がある期間
--evaluation-periods 3 \
# アラームを発生させるために必要なデータポイントの数
--datapoints-to-alarm 3 \
# 欠落データを処理する方法。ここでは「欠落データを見つかりませんとして処理」としている
--treat-missing-data "missing" \
# アラームが発生したときに実行するアクション。ここではメール通知と再起動を指定している
# 2つ以上指定する場合は、スペースで区切って指定する
--alarm-actions "arn:aws:sns:ap-northeast-1:xxxxx:[SNSトピック名]" "arn:aws:automate:ap-northeast-1:ec2:reboot" \
# アクションが有効かどうか
--actions-enabled
具体例
aws cloudwatch put-metric-alarm \
--alarm-name "hoge" \
--alarm-description "hoge hoge" \
--metric-name "StatusCheckFailed_Instance" \
--namespace "AWS/EC2" \
--statistic "Average" \
--period 60 \
--threshold 0 \
--comparison-operator "GreaterThanThreshold" \
--dimensions "Name=InstanceId,Value=i-xxxxxx" \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--treat-missing-data "missing" \
--alarm-actions "arn:aws:sns:ap-northeast-1:xxxxx:send-error-mail" "arn:aws:automate:ap-northeast-1:ec2:reboot" \
--actions-enabled
コメント