インフラ

AWS Personal Health DashboardのSlack通知の設定をCLIでやってみる

phd

こんにちは、ちゃりおです。

Personal Health Dashboard(以下PHD)でSlackに通知する設定についてです。

AWSアカウント内の影響のあるリソースも通知してくれるので、AWSアカウントごとにやっておくと良さそうです。
GUIからやるのも簡単ですが、せっかくなのでAWS CLIでやってみます。

AWS Personal Health Dashboardとは

AWS Personal Health Dashboard では、お客様に影響するイベントが AWS で発生している場合に、アラートおよび改善のためのガイダンスを提供します。Service Health Dashboard は AWS の サービスの全般的なステータスを表示しますが、Personal Health Dashboard では、ご利用の AWS リソースの基礎となる AWS のサービスのパフォーマンスおよび可用性に関するパーソナライズされた表示を利用できます。

ダッシュボードには、関連する情報が適切なタイミングで表示されるため、進行中のイベントを管理するのに役立ちます。また、積極的な通知は、スケジュールされたアクティビティを計画するのに役立ちます。Personal Health Dashboard を使用すると、AWS リソースの状態の変化によってアラートがトリガーされるため、イベントが可視化され、問題をすばやく診断して解決するのに役立つガイダンスを得られます。

AWS Personal Health Dashboard

利用者に影響するAWS側のイベントを通知してくれるサービスです。
マネジメントコンソールで「PHD」で検索すると確認できます。

PHDスクショ

AWS CILでPHDのSlack通知を設定する

phd通知

事前準備

通知するSlackのチャンネルの転送用メールアドレスを用意しておきます。

今回は、Slackの転送用メールアドレスを使いますがAWS Chatbotでもできそうです。

AWS Personal Health Dashboardのslack通知

SNSトピックの作成

$ TOPIC_NAME="" #Slack転送メールアドレス
$ EMAIL_ADDR="" #Slack転送メールアドレス
$ aws sns create-topic --name $TOPIC_NAME
$ aws sns list-topics | grep $TOPIC_NAME #ARN取得
$ TOPIC_ARN="" #TOPIC ARN
$ aws sns subscribe --topic-arn $TOPIC_ARN --protocol email --notification-endpoint $EMAIL_ADDR

コマンドを最後まで実行すると、Slackにサブスクライブのメッセージが届いていると思うのでサブスクライブします。

CloudwatchEventの作成

$ RULE_NAME="" #cloudwatchevent rule
$ aws events put-rule --name $RULE_NAME --event-pattern "{\"source\":[\"aws.health\"]}"
$ aws events put-targets --rule $RULE_NAME --targets "Id"="1","Arn"="${TOPIC_ARN}"

コマンドが成功したら、下記でターゲットが割り当てられているか確認します。

$ aws events list-targets-by-rule --rule $RULE_NAME
{
    "Targets": [
        {
            "Id": "1",
            "Arn": "arn:aws:sns:ap-northeast-1:11111111111:hoge_alert"
        }
    ]
}

手動でPHDのイベント作成してテストなどは現在できないため、事前に設定しておいて通知されたら確認します。
AWS側の障害だけではなく、メンテナンスの情報も(EC2再起動など)来るので割と早く確認できると思います。

まとめ

PHDの通知設定をやってみました。
設定しておくことで、AWS側の障害時に気づくのが早くなると思います。

あとはメンテナンス情報とかも拾えるので、メールに気づかず勝手に再起動されてしまったという事態も
避けれると思います。

影響を受けるリソースもメッセージに含んでくれるので便利ですね。
ぜひ設定してみてください。

Amzonで「AWS」の本を見てみる

楽天で「AWS」の本をみてみる!!

sap
AWSソリューションアーキテクトプロフェッショナル(SAP)のシンプルな勉強法こんにちは、ちゃりおです。 AWS SAPを取得したので、勉強法を書きます。 いろいろな方法があると思いますが、なるべくシンプルにまと...
cloudwatchagent too many file
CloudWatch Logs Insights でApacheのアクセスログを使ってアクセス数の集計をするこんにちは、ちゃりおです。 Cloudwatch Logs Insights便利ですね。 Apacheのアクセスログを見て、アクセス数...
aws saa
AWS初心者が3週間でAWSソリューションアーキテクト(SAA)を取った勉強法こんにちは、ちゃりお(@chari7311)です! 以前社内の事情でAWSソリューションアーキテクトを3週間で取るよう言われました。 ...