Azure Cost Management でクラウド導入の壁を取り払う – 予期せぬコスト増加に迅速に対応する方法

世間ではクラウドや AI が大人気、ビジネスに取り入れて人的コストを削減しましたといった主旨のニュースを見ない日はありません。
しかし、日本の企業すべてがクラウド導入に踏み切れているとは言えません。

Microsoft 365 のような SaaS (Software as a Service) は、値段の設定が月額固定です。 全体でかかる費用が算出しやすく、コスト事情での導入の敷居は低い (利用に抵抗がない) と考えてよいでしょう。

しかし、クラウドの王道とも言える Azure ではちょっと事情が違っています。

Azure は Infrastructure as a Service (IaaS)、Platform as a Service (PaaS) など多数のサービスがそろっており、オンプレミスにあるサーバーを Azure のサービスへ移行することで安定性を増して強度を上げ、より利便性と安全性の高い IT システムを実現できるのですが、Azure のお支払いは「従量課金」。
使った分だけ後で支払う方式で、毎月請求金額が変わります。 料金が固定ではないのです。

『使った分だけ支払う』のは明朗会計ですが、毎月の請求額が変動することに不安を感じる方も多いでしょう。
たしかに利用したのだからその分請求が来て当然ではありますが、毎月微妙に、時には大きく請求金額が変わったら、上長や経理担当への説明は必須です。

こうした不安がクラウド導入の障壁となっているなら、大きな課題です。

実は Azure には、Azure Cost Management というコストを可視化してくれるツールがあります。
どのワークロード、どのリソース、どのリソース グループのコストが大きいのか、グラフィカルな画面で確認することができます。

通常、計画通りに設計・構築された Azure システムとそのリソース群なら、コストの分布はほぼ予算通りになるはずです。
しかし、もし何かの間違いで使用量が増えてしまったら、早期に把握し、正当な利用かどうか確認する必要があります。

例えば、検証環境を作成する際に誤って本番環境用の Azure サブスクリプションで作業を行ってしまったり、追加変更した Azure 仮想マシンのサイズやファミリを誤って指定していたり。 人間が作業することですからミスは発生する可能性は否定できません。

このようなケースは、早く把握できればそれだけミスによる追加コストが増加することを防げますので、いつ検知できるかが非常に重要です。

今回は、Azure のような従量課金型のクラウド サービスを利用するにあたっては極めて重要なコスト管理について、Azure Cost Management の基本的な機能と、想定した金額を超えるペースで課金されていたり突然大幅にコストが増えたりといった状況をいち早く検知するために有効なアラート機能について紹介します。

Azure Cost Management の機能

Azure Cost Management の基本機能とレポート活用法

まずは、Azure Cost Management の機能と利用のポイントについて少しお話しましょう。

Azure Cost Management では、コストを視覚的に確認できるレポート類があらかじめ用意されており、Azure の使用を始めて数日後にはレポートを利用できるようになります。 (レポート自体は即日利用できるのですが、使用量などの実績が反映されるまでには数日かかることがあります)

レポートでは、前の請求期間と現在の請求期間との対比や、あらかじめ Azure Cost Management で作成しておいた予算との対比、時間の経過に伴うコストの傾向などさまざまな角度からの分析が可能です。
レポートには金額が表示されていますが、通貨は Azure サブスクリプションの課金プロファイルで規定されている通貨が使用されます。

つまり、日本のお客様の Azure 使用金額は「円」で表示されます。わかりやすく安心です。

コスト分析のためのリソースグループとタグ管理

レポートの表示範囲や集計範囲には、サブスクリプション全体のコスト以外にも「リソース グループ単位」「リソース単位」「タグ単位」などが指定でき、コストの把握に役立ちます。
ひとつのサブスクリプション内に複数のプロジェクトのリソースが存在するケースは非常によくありますが、それぞれのプロジェクト、システムのコスト負担部署が異なることも当然よくあることです。

この場合はコスト情報を負担部署ごとに分けて分析する必要があるかと思いますので、あらかじめリソース グループやタグでの管理ルールを定めておくと運用がスムーズです。
なお、リソース グループ設定やタグ設定は課金開始後に設定を変更した場合過去のデータには影響はなく、過去の設定は過去の設定のままで集計されます。

今すぐにコスト分析画面を見たいのに! という方は、リソース作成後すみやかにリソース グループの設定とタグの設定を済ませておきましょう。

定期的なコストレポート送信機能の活用

また、これらのレポートを定期的にメールで送信してくれる機能もあります。
Azure 管理ポータルへサインインして Azure Cost Management を開くことなく最新のコスト状況を把握でき、コストチェックをうっかり忘れてしまうこともないので非常に便利です。

最後に、後述しますアラートですが、通知を構成しない場合でも Azure Cost Management 上で内容を確認することができます。

Azure Advisorによるコスト最適化の提案

特に注目してほしい機能が、Azure Advisor によるコストの最適化に関する推奨事項です。

過去の利用状況を分析し、利用頻度の低い Azure 仮想マシンのシャットダウンやインスタンス サイズの変更を推奨する、Azure 予約の購入でコストが削減できそうな Azure 仮想マシンをピックアップするなどの機能があります。

運用開始直後は、Azure 仮想マシンの定期的なシャットダウンにはなかなか踏み切れないと思いますし、余裕をもって大きめのサイズの Azure 仮想マシンで運用を開始することもよくあります。
このようなケースで Azure 仮想マシンのサイズを小さくできる可能性を知らせてもらえるだけでも結構ありがたいのではないでしょうか。

参考資料 :
Cost Management レポートの使用を開始する – Azure – Microsoft Cost Management | Microsoft Learn
クイック スタート – コスト分析の使用を開始する – Microsoft Cost Management | Microsoft Learn
カスタマイズしたビューの保存と共有 – Microsoft Cost Management | Microsoft Learn
チュートリアル – 推奨事項に従って Azure のコストを削減する – Microsoft Cost Management | Microsoft Learn

Azure Cost Management のデータ更新頻度とその注意点

さて、次は事前に知っておくべきポイントですが、実は Azure Cost Management で表示される使用量および金額は、残念ながらリアルタイムで更新されているというわけではなく、サブスクリプション タイプごとにも状況は異なります。

  • EA および MCA サブスクリプション :通常 8 時間から 24 時間以内に反映
  • 従量課金制サブスクリプション :最大で 72 時間後に反映

また、Azure Marketplace のサポート料金や税金など、Azure Cost Management のデータには含まれないが実際は請求が発生する料金も存在します。
さらに、Azure サービス (Storage、Compute、SQL など) ごとに使用量データが生成される間隔が異なっています。

このような諸所の要因から、日々表示される金額は請求金額として毎日確定されているものではありません。 請求期間の終了後 72 時間以内に請求期間が確定しますが、それまでの期間はおおよその金額として考える必要があります。

参考情報 :
Cost Management のデータを理解する – Microsoft Cost Management | Microsoft Learn

Azure コストを監視しアラートを出す

Azure Cost Management では、以下の 2 パターンのアラートを出すことができます。
どちらの通知も、指定したメールアドレス宛 (複数登録可能) に電子メールで届きます。

  • 事前に作成した予算に基づいて指定するしきい値を超えたときに通知する「予算アラート」
  • 過去 60 日間と比較してコストが大きく変化したときに通知する「異常アラート」

予算アラート

予算アラートは、あらかじめ作成した「予算」に対し、指定したスコープ (リソース グループ、タグ、サブスクリプション全体) での予想コストがどの程度かかっているか、指定したしきい値を超えた場合に通知されます。

また、予算に対しての利用状況をダッシュボードにピン止めすることもできますので、Azure ポータルにサインインすればいつでも簡単に確認できます。

例えば、「営業三課」というリソースグループのコストが月額 10 万円 (前述の通り、日本のお客様はドルではなく日本円で指定します) だとして、しきい値 85% を超えたら通知が来るように構成するとします。

この指定したしきい値 85% に達した場合、通常 8 時間以内に通知が届きます。
しかし、Azure Cost Management の課金情報が反映されるまでに 8 時間から 72 時間かかることもありますので、予算アラートが届くまでにはそれらを加味した時間がかかると考える必要があります。

また、予算によって分析される時間枠 (予算のリセット期間) は 月、四半期、年 から選択できます。
一か月単位の予算だけでなく四半期や年も指定できるので、季節などによって利用料が増減するケースでも (ある程度は) 対応できるかと思います。

一方で、季節性の高いシステムやインスタンス数を動的に増減することでコスト削減が可能な web アプリケーションなど、毎月の利用金額に変動があるのが正しい状態というシナリオもあります。
このようなケースでは、予算アラートの有効期間を細かく設定するなどの工夫が必要でしょう。

なお、予算アラートでは「アクション グループ」を指定することで SMS メッセージ/ Azure Mobile App プッシュ通知 / 電話による音声 での通知を構成することもできますが、Azure Monitor の料金が別途かかることがあります。

参考情報 :
Microsoft Cost Management を使用したコスト分析と予算作成の概要 – Training | Microsoft Learn
価格 – Azure Monitor | Microsoft Azure

異常アラート

異常アラートは、Azure Cost Management の異常検出機能が検出した異常をアラートで知らせてくれるものです。 この異常は Azure Cost Management ツール上でも確認できます。

従量課金である Azure の利用において最悪のシナリオが、Azure サブスクリプションに管理権限を持つユーザー アカウントがハッキングされるなどしてクリプト ジャッキングの被害に遭うケースです。

高性能な Azure 仮想マシンを作られマイニング アプリケーションを実行され、Azure サブスクリプションの契約者に高額な請求が届きます。
このような異常は、できるだけ早く検知することが重要です。そのために活用したいのが異常アラートです。

どのような状態を「異常」とみなすかですが、Azure Cost Management には異常アラートの元になる異常検出モデルという AI が搭載されており、60 日間の過去の使用状況をトレーニングに使用してその日の使用量を予測します。

コストの異常は毎日サブスクリプションに対して評価され、その日の合計使用量を予測した使用量と比較し、最近の使用状況の一般的なパターンを考慮して「異常」「異常ではない」判定を行います。
この判定は 1 日の終わり (UTC) から 36 時間後に実行され、確実に完全なデータ セットを使用できるようにします。

このため、異常アラートが届くのは異常が発生してから最速で 2 日程度経過後ということになり、リアルタイムでというわけにはいきませんが、異常発生を迅速に検知することは非常に重要です。

クリプト ジャッキング被害を防ぐための異常アラート活用法

というのも、さきほど説明しましたクリプト ジャッキングですが、この被害に遭いますと多くの場合でどのような経緯でハッキングされたのかを追求することがとても困難です。

クリプト ジャッキングでは、Azure サブスクリプションに高い権限を持つ Entra ID ユーザー アカウントを入手しサインインに成功した悪意の第三者が Azure Resource Manager API を駆使してリソースを作成することが想定できますが、この場合アクティビティ ログに残るのはアプリの ID であることがほとんどです。

マイニングに必要なリソースを作成した後は証拠を残さないためにアプリを削除されることも考えられ、そうなると事の経緯を確認するための情報を十分に入手できないことがあります。 (Azure 仮想マシンなどのリソースが残っており、リソース作成時のアクティビティ ログを確認できればある程度の情報を得ることはできます)

クリプト ジャッキングの被害に遭ってしまったら、とにかく早期に検知し、必要なログが残っている間に調査を開始することが非常に重要です。
異常アラートは無料で構成できますので、ぜひ利用してください。

なお、異常アラートは予算アラートとは異なり、アクション グループの指定がありません。 通知は電子メールのみで行われます。

参考情報 :
コストの異常と予期しない変化を特定する – Microsoft Cost Management | Microsoft Learn

Azure Cost Management での最適な運用方法と注意点

Azure Cost Management は、予算を守るべき IT 部門の強い味方です。 レポートの通知やコスト分析、アラートを活用して効率よくクラウド環境を管理しましょう。

ここで一点注意なのですが、通知が届くことはとても便利です。 しかし、しきい値を低く指定しすぎるなど、通知が届きすぎる状態もよくはありません。

通知が届くことに慣れてしまい、本来の目的である問題を検知することへの感度を下げてしまうことにもつながります。
予算アラートや異常アラートは、通知が届かない場合でも Azure Cost Management を開けば確認することができます。

しきい値を細かくして料金の増加を敏感に察知したいケースでは、予算を作成するのみにとどめ Azure Cost Management ツール上で確認するなど、皆様の利用状況にあったルールでご活用ください。

TD SYNNEXでは、お客様のクラウド サービスを利用した IT 環境をより安全に、より便利に、より効果的に整えるお手伝いをするサービスも提供しています。

冒頭で私が想像しておりましたように、費用がかかりすぎてしまいそうで不安なためクラウド化に踏み切れないお客様も多いかと思います。
コストを抑え効率的に IT システムを利用する方法を検討したい方、ご相談をお待ちいたしております。

ひとり情シス向けソリューション | TD SYNNEX株式会社
クラウド サービスの導入にあたってお困りの点、ご不安な点などございましたら、ぜひお気軽に TD SYNNEX にご相談ください。

[著者プロフィール]
TD SYNNEX 株式会社 | 大久保 直美
アドバンスドソリューション部門 ハイブリッドマルチクラウドSE部
キャリアのスタートは汎用機での COBOL 言語プログラマー。 その後 Windows PC 普及の波に乗り、サポートエンジニア、Visual Basic プログラマー、インターネット コミュニティ管理者、プリセールス支援などを経験。クラウドを中心としたビジネス開発提案を支援するためTD SYNNEXへ入社、Microsoftのクラウド製品全般を担当。 好物は Microsoft Access。

製品・サービスについてのお問合せ

情報収集中の方へ

導入事例やソリューションをまとめた資料をご提供しております。

資料ダウンロード
導入をご検討中の方へ

折り返し詳細のご案内を差し上げます。お問い合わせお待ちしております。

お問い合わせ