What’s This

userdata使用で、起動時にcloudwatch alarmを作りました。

要件的には、以下

・OSはUbuntu(AWS公式イメージ)
・自分のCPUメトリクスを監視するalarm
・アラーム名に自身のインスタンスIDを付与
・例 ec2-i-aaaaaaa-cpu-alarm

Userdata

Credentials情報はベタ張りなので、もっとセキュアな方法があるかも
アラーム名に自身のインスタンスIDを付与するのは、環境変数使って通しました

#!/bin/bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
sudo ./aws/install
export InstanceId=`curl http://169.254.169.254/latest/meta-data/instance-id -w "\n"`
export AWS_ACCESS_KEY_ID="XXX"
export AWS_SECRET_ACCESS_KEY="XXX"
export AWS_DEFAULT_REGION="XXX"
aws cloudwatch put-metric-alarm --alarm-name ec2-$InstanceId-cpu-alarm --namespace AWS/EC2 --metric-name CPUUtilization --dimensions "Name=InstanceId,Value=$InstanceId" --evaluation-periods 1 --comparison-operator GreaterThanOrEqualToThreshold --period 60 --statistic Average --threshold 80

参考

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-cloudwatch-createalarm.html
https://hacknote.jp/archives/43635/

参考にさせていただきました。ありがとうございます。

元記事はこちら

https://qiita.com/namely_/items/bbe02769c4fbe6114655
著者:@namely_


アイレットなら、AWS で稼働するサーバーを対象とした監視・運用・保守における煩わしい作業をすべて一括して対応し、経験豊富なプロフェッショナルが最適なシステム環境を実現いたします。AWS プレミアコンサルティングパートナーであるアイレットに、ぜひお任せください。

AWS 運用・保守サービスページ:
https://cloudpack.jp/service/aws/maintenance.html

その他のサービスについてのお問合せ、お見積り依頼は下記フォームよりお気軽にご相談ください。
https://cloudpack.jp/contact/form/