💨

Azureの料金アラートをSlack通知してみる

2023/01/05に公開

はじめに

Azureを使用していて、料金のアラートをメールでなくSlack等のツールに通知できればと思っていたので、その設定を行います。

設定

では早速設定してみます。
設定の概要は以下です。

  1. Logic Apps でSlackへ通知をするワークフローを作成
  2. アクショングループを作成
  3. 料金アラートを作成 + slackへ通知

Logic Apps の作成

Logic Apps を作成し、デザイナー ページで以下のように設定します。

トリガーに HTTP 要求の受信時 を選択し、パラメーターに以下の内容を入力します。

{
    "properties": {
        "data": {
            "properties": {
                "Budget": {
                    "type": "string"
                },
                "BudgetCreator": {
                    "type": "string"
                },
                "BudgetName": {
                    "type": "string"
                },
                "BudgetStartDate": {
                    "type": "string"
                },
                "BudgetType": {
                    "type": "string"
                },
                "NotificationThresholdAmount": {
                    "type": "string"
                },
                "ResourceGroup": {
                    "type": "string"
                },
                "SpendingAmount": {
                    "type": "string"
                },
                "SubscriptionId": {
                    "type": "string"
                },
                "SubscriptionName": {
                    "type": "string"
                },
                "Unit": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "schemaId": {
            "type": "string"
        }
    },
    "type": "object"
}

次にアクションで、Slackのメッセージの投稿(V2)を選択します。
チャンネル名は実際に飛ばしたいチャンネル名を選択し、メッセージテキストは適当に入力します。(以下例)

サブスクリプションのトータルコストが予算を超えました。Azure portal から確認ください。
サブスクリプション: @{triggerBody()?['data']?['SubscriptionName']}
予算:  @{triggerBody()?['data']?['Budget']}
閾値: @{triggerBody()?['data']?['NotificationThresholdAmount']}

designer

Action Group の作成

次に、アクショングループを作成します。
アクショングループを適当に作成していただきます。作成の際に「アクションタブ」で先ほど作成した、Logic Apps を選択します。
test notification

作成後、テストを実施します。
作成したアクショングループを選択し、テストで、 課金アラートを選択し、テストを実施します。
すると、以下のような内容で、Slack に通知が飛んできます。
test notification

予算アラート の作成

最後に予算アラートを作成します。
「コストの管理と請求 -> サブスクリプション -> コスト管理 -> 予算」で新規で作成します。
名前、予算は適当に入力していただき、予算を作成していただきます。次に通知の設定で、以下のように設定します。

test notification
アクショングループで先ほど作成した、アクショングループを選択します。

これで作成していただき、予算オーバーするとアラートが飛んできます。
toSlack

おわりに

予算の設定をしておかないといくら使用しているかがわからなく困るので、これで設定していれば、アラートがSlackに通知されるので、メールで飛ばしていた時よりもわかりやすくなったかなと。。。
また、Teamsを使用していればTeamsに飛ばすこともできるのでLogic AppsでTeamsを設定していただければ通知が飛ぶはずです。

Discussion