【初心者向け】AWS Healthイベントを自動通知する方法(EventBridge編)

皆さん、こんにちは!秋葉です。

AWSを使っていると、「あれ、このインスタンス調子悪いな?」と思ったら実はAWS側の障害だったり、メンテナンスのメールを見逃して強制再起動がかかったり……という経験はありませんか?

今回は、AWSからの重要なお知らせ(AWS Healthイベント)をキャッチして、使い慣れたメールやチャットに飛ばすAmazon EventBridge + SNSの構築方法をシェアします。

実は以前、権限の都合上「User Notificationsのコンソールにすら触れない」という経験をしました。

そうした現場の制約も踏まえ、本記事ではより汎用性が高く、確実な手段であるEventBridgeを使用しています。

はじめに

実はAWS Healthイベントには「通知が飛んでくる場所(リージョン)」と「通知の影響範囲(スコープ)」にルールがあるのをご存知でしょうか?

これを知らずに「東京リージョン」だけに設定していると、重要なグローバルサービスの障害を見逃してしまうかもしれません。今回は、設定時に必ず考慮すべき2つの観点について解説します。

  1. リージョン固有か、グローバルか
    特定のリージョン(東京など)で起きていることか、AWS全体に関わることか。
  2. アカウント固有か、パブリックか
    自分自身の所有リソースに関わることか、全ユーザーに影響する広域障害か。

EventBridgeルールの作成

グローバルイベントを検知したい場合

IAM、Route 53、CloudFrontなどのグローバルサービスに関する通知は、バージニア北部リージョン(us-east-1)に集約されます。

重要: グローバルイベントを検知したい場合は、必ず バージニア北部リージョン でルールを作成してください。

アカウント固有のイベント(自分に関係あるもの)

以下フィルターパターンでEventBridgeを作成してください。

{
  "source": ["aws.health"],
  "detail-type": ["AWS Health Event"],
  "detail": {
    "eventScopeCode": ["ACCOUNT_SPECIFIC"]
  }
}

パブリックイベント(広域なもの)

以下フィルターパターンでEventBridgeを作成してください。

{
  "source": ["aws.health"],
  "detail-type": ["AWS Health Event"],
  "detail": {
    "eventScopeCode": ["PUBLIC"]
  }
}

まとめ

今回は、AWS Healthイベントを確実にキャッチするための EventBridge + SNS の設定パターンについて解説しました。

最近は「AWS User Notifications」という便利な新機能も登場していますが、私のように権限設定(IAM)の都合上使用できないことも少なくありません。

本記事がどなたかの役に立てれば幸いです!

著者について

かけだしのエンジニア。

秋葉倭翔をフォローする

クラウドに強いによるエンジニアブログです。

SCSKクラウドサービス(AWS)は、企業価値の向上につながるAWS 導入を全面支援するオールインワンサービスです。AWS最上位パートナーとして、多種多様な業界のシステム構築実績を持つSCSKが、お客様のDX推進を強力にサポートします。

AWS
シェアする
×
タイトルとURLをコピーしました