📚

【Azure】予算とロジックアプリを活用してTeamsにコストアラートを通知する方法

2024/11/28に公開

概要

Azureのコスト管理のため、Teamsにコストアラートを自動通知する仕組みを構築します。

前提

この仕組みを構築するためには、以下の条件を満たしている必要があります。

  • 対象リソースのスコープにおいて「共同作成者」以上の権限があること
  • 通知先のTeamsチャネルにメンバーとしてアクセス権があること

使用するリソース

  • Azure Cost Managementの予算機能:予算を設定し、アラートをトリガーします
  • Azure Monitorのアクショングループ:アラート発生時にロジックアプリをトリガーします
  • Azure Logic Apps:Teamsに通知を送信するフローを作成します

手順

  1. ロジックアプリの作成

①Azure Portal (https://portal.azure.com/)にログインする。
②画面上部の検索バーにて「ロジック アプリ」と入力し、表示された「ロジック アプリ」を選択する。

③「追加」を選択する。

④従量課金のプランを選択する。

⑤必要な情報を入力し、「次:タグ>」を選択する。

⑥任意でタグを設定し、「次:確認および作成>」を選択する。

⑦設定項目を確認し、問題がなければ「作成」を選択する。

  1. ロジックの実装

①作成したロジックアプリの左メニューから「ロジック アプリ デザイナー」を選択する。

②「トリガーの追加」を選択する。

③「When a HTTP request is received」を選択する。

④「Request Body JSON Schema」に以下のスキーマを入力し、新しいアクションを追加する。

JSON Schema
{
    "type": "object",
    "properties": {
        "schemaId": {
            "type": "string"
        },
        "data": {
            "type": "object",
            "properties": {
                "essentials": {
                    "type": "object",
                    "properties": {
                        "monitoringService": {
                            "type": "string"
                        },
                        "description": {
                            "type": "string"
                        }
                    }
                },
                "alertContext": {
                    "type": "object",
                    "properties": {
                        "AlertData": {
                            "type": "object",
                            "properties": {
                                "ThresholdType": {
                                    "type": "string"
                                },
                                "BudgetType": {
                                    "type": "string"
                                },
                                "BudgetThreshold": {
                                    "type": "string"
                                },
                                "BudgetName": {
                                    "type": "string"
                                },
                                "NotificationThresholdAmount": {
                                    "type": "string"
                                },
                                "SpentAmount": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

⑤「タグの @mention トークンを取得する」を選択する。

⑥「サインイン」を選択し、案内に従ってMicrosoftアカウントにサインインする。

⑦任意のチームとタグを選択し、新しいアクションを選択する。

⑧「チャットまたはチャネルでメッセージを投稿する」を選択する。

⑨通知先のチームとチャネルを選択し、以下の内容でメッセージの入力を行う。
※表示するデータや文言については自由にカスタマイズしてください
※⚡ボタンで保持しているデータを選択することができます

⑩「保存」を選択する。

  1. アクショングループの作成

①画面上部の検索バーにて「監視」と入力し、表示された「監視」を選択する。

②左メニューから「アラート」を選択する。

③「アクショングループ」を選択する。

④「作成」を選択する。

⑤「基本」の項目を入力し、「次へ:通知>」を選択する。

⑥既定のまま「次へ:アクション」を選択する。

⑦アクションタイプでロジックアプリを選択し、先ほど作成したロジックアプリを指定する。

⑧「名前」を任意で入力し、「次へ:タグ>」を選択する。

⑨必要に応じてタグを設定し、「次へ:確認と作成>」を選択する。

⑩設定内容を確認し、問題がなければ「作成」を選択する。

⑪問題なく作成されたことを確認する。

  1. 予算の作成

①画面上部の検索バーにて「Cost Management」と入力し、表示された「Cost Management」を選択する。

②左メニューから「Budgets」を選択する。

③「追加」を選択する。

④任意で各項目を入力し、「次へ>」を選択する。

⑤警告条件において「アクショングループ」は作成したロジックアプリを選択し、「作成」を選択する。

⑥作成完了の通知を確認し、追加されていることを確認する。

  1. 動作確認

①画面上部の検索バーにて「監視」と入力し、表示された「監視」を選択する。
②左メニューから「アラート」を選択する。
③「アクション グループ」を選択する。
④作成したアクショングループを選択する。
⑤「テスト」を選択する。

⑥サンプルの種類の選択で「コスト予算アラート」を選択し、「Test」を実行する。

⑦通知先のTeamsを確認し、以下のような形で通知が来ていることを確認する。

ロジックアプリが正しく動作していない場合は、実行履歴を確認し、エラーが発生している箇所を特定してください。

ヘッドウォータース

Discussion