この記事の続きは広告視聴後にご覧いただけます

📡 AWS障害発生自動検知ツール

この記事は約5分で読めます。

AWSの障害発生を自動検知し、メール・Slack へ通知する軽量モニタリングツールを開発しました。

障害発生時に画像のようなメールを受信します

ここでは、基本情報や設定方法などについて紹介します。

バージョン更新記録

バージョン更新日内容
1.02025/4/29公開
1.12025/5/6「MAIL_TO」において複数人登録ができるようになりました

🛠 機能一覧

現時点での主な機能は以下のとおりです。

  • AWS公式ステータスRSSを1時間ごとにチェック
  • 新たな障害が検出されれば即時通知
  • 障害がない場合も正常通知を送信
  • 通知先:メール(SMTP) / Slack(任意)
  • GitHub Actions 対応 (ローカルも可ですが、ここでは説明しません)
  • 通知済みエントリをJSONで管理し、重複防止

今後追加したら追記します。

🚀 セットアップ方法

このツールは、GitHub Actionsを利用します。GitHubアカウントが無い場合は作成してください。

GitHub Actionsからダウンロードする

  1. AWSStatusNotifier にアクセスします。
  2. 赤枠をクリックして、ファイルをダウンロードし、解凍しておきます。

自分のGitHub Actionに保存する

  1. 「New repository」よりレジストリを作成します
  2. 表示された画面に以下のとおり入力し、「Create repository」を押します。
    • Repository name:なんでもOKです
    • Privateを選択
    • 「Add a README file」にチェックを付ける
  3. 「Add file」-「Upload files」-「choose your files 」の順にクリックし、解凍したファイルのうち以下ファイルをアップロードします。アップロードが完了したら「Commit changes」をクリックします。
    • aws_status_checker.py
    • README.md
    • requirements.txt
  4. 「Add file」-「Create new file」の順にクリックします。
  5. ディレクトリ構成に「.github/workflows/aws-check.yml」と入力します。
  6. aws-check.ymlの解凍ファイルをテキストソフトで開き、内容をコピーし、フィールドにペーストし、「Commit changes」-「Commit changes」の順にクリックします。
  7. ファイルが保存されていることを確認したらOKです。

受送信メールアドレス設定

  1. 「Settings」-「Secrets and variables」-「Actions」-「New repository secret」の順にクリックします。なお、タブは「Secrets」を選択します。
  2. 「Name」と「Secret」にそれぞれ以下を入力し、「Add secret」をクリックします。
NameSecret
SMTP_USERメール送信元アドレス(例: Gmail)
SMTP_PASSSMTPアプリパスワード
MAIL_TOメール送信先アドレス 
(半角カンマをつかうことで複数メールアドレスを登録可能)
SLACK_WEBHOOK_URLSlack Incoming Webhook URL(任意)

MAIL_TOの複数メールアドレス登録例

alert1@example.com,alert2@example.com
  • SMTP_USERとMAIL_TOは同じでもOKです。
  • SMTP_USERとSMTP_PASSは同じアカウントで行ってください。(おすすめはGmailです

※ SMTP_PASSの生成はこちらから🔗(2段階認証の設定が必須です)

Sign in - Google Accounts

アクションテストを行う

  1. 「Actions」-「(Actions名)」-「Run workflow」-「Run workflow」の順にクリックします。
  2. 一度ページを更新します
  3. いちばん上(黄色の丸が付いたワークフロー)のリンクを押し、表示された「(Actions名)」をクリックします。
  4. 以下が入力されていることを確認します。
    🚨 AWS障害チェック開始
    📣 通知開始: 【AWS稼働確認】異常は検出されませんでした(2025/04/29 01:31 時点)
    ✅ メール送信成功

こちらが表示されれば問題無しです。実際に設定した 「MAIL_TO」のメールアドレスに届いていることを確認ください。

利用ルール📖

READMEにも記載していますが、利用ルールを設定しています。お守りいただくようご協力願います。

📄 ライセンス

本ツールは、企業・個人の利用はフリーで利用いただけますが、営利目的の商用利用はNGです。 改変・拡張する場合は以下コンタクトフォームから一報ください。

(基本的にはNGを出しません。共有OKであれば本サイトで紹介します。)

コンタクトフォーム📒:Contact

(題名に「AWS Status Notifier改変・拡張の件」と記載して、メッセージ本文に改変内容を明記してください)

支援について✏️

寄付ありがとうございます!

金額を選択

¥100
¥200
¥300

またはカスタム金額を入力

¥

寄付していただきありがとうございます。

寄付

まとめ

これまで色々Github ACTIONで作成していますが、配布するのははじめてです。

もし、至らない点、不明点ありましたら遠慮なくコンタクトフォームから問い合わせ願います。

よろしくおねがいいたします。

タイトルとURLをコピーしました