御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します

サブスクリプションのコスト管理の異常検出(パブリックプレビュー)を試してみた【Azure Cost Mangement】

2022年2月22日にAzure更新情報で公開された「Public preview: Cost Management anomaly detection for subscriptions」について試してみました。
コスト管理の異常検出ということでどういった異常が検出されるのか、どのように確認できるのかなどを紹介していこうと思います。

「Public preview: Cost Management anomaly detection for subscriptions」について

「Public preview: Cost Management anomaly detection for subscriptions」ということで日本語にすると「サブスクリプションのコスト管理の異常検出がパブリックプレビュー」ということになります。このタイトル普段からコストの急上昇などを気にしている方にとってもはとても気になるタイトルですね。やはり意図しないコストの上昇などは防ぎたいものです。 下記がAzure更新情報の公式ページのリンクですが、書いてある内容の日本語訳です。
azure.microsoft.com

コスト管理の異常検出は、コスト分析プレビューのサブスクリプションで使用できるようになりました。サブスクリプションのコストの異常を確認するには、コスト分析プレビューで任意のビューを開き、[分析情報の表示] リンクをクリックしてすべての分析情報と詳細を表示します。
コスト分析プレビューを初めて使用する場合は、異常検出用にセットアップされたことを確認する "明日、コストの異常分析情報を確認してください" というメッセージが表示されます。既にセットアップしている場合は、「異常なし」というメッセージが表示されるか、表示している日付範囲内で検出された異常の一覧が表示されます。異常に関する詳細を取得するには、分析情報リンクをクリックして、評価された日付範囲の 1 日のコストを表示します。

Azureサブスクリプションのコスト管理の異常検出(パブリックプレビュー)を試してみた

では実際にサブスクリプションのコスト異常検出機能を試してみようと思います。
まずは異常検出を行いたいサブスクリプションに移動して「コスト管理」のゾーンにある「コスト分析」をクリックします。

現状はプレビューの機能のため、こちらのコスト分析画面からは異常検出情報を確認できません。確認するためには「コスト分析(プレビュー)」の画面に遷移する必要があります。

上記の画面にある「リソースごとのコスト」から「〇〇(プレビュー)」と書いてあるボタンを押下することで「コスト分析(プレビュー)」の画面に飛ぶことができます。今回は「リソースグループ(プレビュー)」のリンクをクリックしました。

「コスト分析プレビュー」の画面に移動すると、Azure更新情報の説明文にもかかれていたとおり、「明日、コストの異常に関する分析情報をご確認ください」の文字と「分析情報を表示」のリンクが表示されていますね。「明日、コストの異常に関する分析情報をご確認ください」の文字が出ている場合はサブスクリプションで異常検出のセットアップが有効になっていないようです。セットアップを行う場合は「分析情報を表示」リンクをクリックしましょう。

リンクをクリックすると「分析情報のウィンドウ」が表示され、セットアップされましたとの文字が出てきます。これで次の日から異常を識別する分析情報がこちらに表示されるようです。

1日待つのも面倒なので、とりあえず別のサブスクリプションでどうなるのかをお見せします。
「コスト分析(プレビュー)」の画面でセットアップ前に出ていたメッセージと異なり、「5月21日 の 1 日あたりの実行率 ↓13%」という文言に変わっていました。
「分析情報を表示」リンクをクリックしてみると、過去60日間の1日あたりの平均コスト使用量と比較して下落率が大幅に大きい日にちがピックアップされています。つまり、コストが平均値からはずれた異常の日を分析してくれています。

この日付ごとの各分析情報のリンクのリンクをクリックするとその日を起点とした1日ごとのリンクコスト使用量のグラフが表示されます。この例ですと、確かに5/14と5/21が下落していますね。

今回の分析結果では発生しましせんでしたが、おそらく急上昇も異常検知されると思うので、無駄に突発的に発生しているコストの異常を分析するのに役に立つと思います。
現状プレビューのため、下記の点が改善されるとより使いやすくなると思いました。

  • 異常検知されたときにアラートを通知する機能があった方が気づきやすい
  • 異常検知の閾値を設定することができない
  • 分析情報のリンクがわかりづらい

スコープを「請求スコープ」や「管理グループ」にすると表示されないので注意が必要

異常検出機能を試していてつまずいた点として「コスト分析(プレビュー)」の画面で下記の画像のように「分析情報を表示する」ボタンが表示されなくて困る現象が発生しました。

結論としてボタンが表示されなかった理由はスコープの設定を「請求スコープ」単位や「管理グループ」単位にしていると異常検出の「分析情報を表示する」ボタンは表示されないことがわかりました。たしかに"サブスクリプションの"異常検出機能って書いてあるので出ないですよね...。他のみなさんがひっかからないようにメモ書きしておきます。

コストのアラート欄にある「異常アラートの追加」との関係性は?

今回の機能を試していて気になった別の機能にコストアラート機能の中にある「異常アラートの追加」機能があります。これはサブスクリプションの異常検出機能とは別なのでしょうか?
一応どんなアラートが通知されるのか試してみました。サブスクリプションやリソースグループの「コストのアラート」から「追加」→「異常アラートの追加」を選択します。

「メール受信登録画面」の設定を行います。特に特別な項目もなく、「アラートの名前」、「メールの件名」、「受信者のメールアドレス」、「メッセージ」を入力します。登録作業はこれだけです。

登録した内容は「コストのアラート」から「管理」→「異常アラートの管理」をクリックすると登録した異常アラートが表示されます。

登録したアラートの一覧が表示されます。ちなみに登録して1週間ぐらい待機中ですが、いまのところ、何も通知が来ていないためどのような条件でアラートが通知されるのが判明しておりません。ただこちらの異常アラート機能はサブスクリプションだけでなく、リソースグループにも設定できることから、サブスクリプションの異常検知機能とは別物ではないかと考えております。

「今すぐ送信」をクリックしても何も起こらず。
今回の紹介したコストの異常検知機能とは別の異常検知ロジックなのか同じなのか判明次第、追記していこうと思います。
(2022年8月2日追記)
コストアラートが登録したメールアドレス宛に届きました。メールの文面を見たところ、自動的に集計期間の中で1日ごとのコストの増減の異常値を感知してメール送信してくれるみたいです。

ちなみに今回のパターンは金曜日から土曜日で負荷が下がったことによるコスト減が大きなコスト減少として感知されたようでした。

参考ページ

azure.microsoft.com

docs.microsoft.com