JavaScriptを有効にしてください

Azure コストの単価と数量を知り隊

 ·   6 分で読めます  ·   [Kento GitHub Copilot]

本記事は GitHub Copilot を活用して作成しています。

Azure Cost Management では、コストの可視化、分析、最適化の機能を提供しています。

しかし、Azure Portal 上のコスト分析では、単価(Unit Price)数量(Quantity) を同時に確認する方法がわかりにくいという課題があります。

今回は、コストの詳細を把握するために エクスポート機能 を試してみました。
エクスポート機能を使うことで、コストの詳細データを CSV ファイルとして取得し、自由に分析できるようになります。

コスト分析での課題

Azure Portal の「コスト分析」では、グラフやテーブルでコストを可視化できます
検証していき、コストの詳細を把握しようとしましたが、以下のような課題がありました:

  • 単価と数量を同時に確認できない: グラフではコストの合計は見えますが、何をどれだけ使ってこの金額になったのかが分かりにくい

そこで、エクスポート機能 を使って、コストの詳細データを定期的に取得する仕組みを作ります。

flowchart TD
    A[Azure Portal のコスト分析] --> B{何を知りたい?}
    B -- コストの合計 --> C[グラフで確認可能]
    B -- 単価と数量 --> D[詳細が見えにくい]
    D --> E[エクスポート機能を使う]
    E --> F[CSV ファイルで詳細データを取得]
    F --> G[Excel/Power BI で自由に分析]
    
    classDef problem fill:#faa,stroke:#333;
    classDef solution fill:#afa,stroke:#333;
    
    class D problem;
    class E,F,G solution;

単価と数量を把握する方法

Azure のコストに関する単価と数量を把握する方法は Azure の使用状況と料金を表示してダウンロードする - Microsoft Cost Management | Microsoft Learn に書かれています。
これを見るとサブスクリプションの種別に応じていくつかの方法が書かれています。

方法 サブスクリプションの種別 説明
エクスポート 全種別 ・ストレージへの定期的なデータダンプ
・カスタムスケジュールで実行可能
・最もスケーラブルなソリューション
・ファイルパーティショニングに対応
・独自のクエリ可能なデータストアと統合可能
・ストレージアカウントへのアクセスが必要
ConsumptionDetails API EA、MCA ・小規模なコストデータセット向け
・Azure Storage へのエクスポートが困難な場合に有効
・1日1回のクエリを推奨(4時間ごとに更新)
・日付範囲を小さなチャンクに分割することを推奨
・月 2GB 超の場合はエクスポートを推奨
Power BI テンプレート アプリ EA、MCA ・定義済みレポートを含む
・課金アカウントのコスト分析に最適
Power BI コネクタ 全種別 ・詳細な分析のためにデータを取得
・レポートが自動で最新状態に維持される
Azure Portal からダウンロード 全種別 ・小規模なデータセット向け
・手動でのダウンロードが必要
・請求書のダウンロードのため、請求が確定し、適切な権限がないと利用できない

今回は、どのサブスクリプションの種別でも利用できる エクスポート機能 を使って、単価と数量を把握する方法を試します。

エクスポート機能とは

エクスポート機能は、Azure のコストデータを CSV ファイルとして定期的にストレージアカウントに保存する機能です。

主な特徴:

  • 自動化: 毎日、毎週、毎月など、定期的な自動エクスポートが可能
  • 詳細なデータ: 単価、数量、リソース ID、タグなど、詳細な情報を含むデータを取得
  • 柔軟な分析: エクスポートされた CSV ファイルを Excel、Power BI などで自由に分析可能
  • コスト: エクスポート機能自体は無料(ストレージの料金のみ発生)
architecture-beta


group subscription(azure:subscriptions)[Subscription]
  service cost(azure:cost-management)[Cost Management] in subscription
  service storage(azure:storage-accounts)[Storage Account] in subscription


cost:L-- R:storage

ざっくり手順

  1. ストレージアカウントの準備
  2. エクスポートの作成
  3. エクスポートの実行と確認
  4. データの分析

1. ストレージアカウントの準備

エクスポートされたデータを保存するためのストレージアカウントを用意します。

2. エクスポートの作成

Azure Portal で [コスト分析][エクスポート] に移動します。

エクスポート画面への遷移
エクスポートの画面: コスト分析からエクスポートを選択

[+ 追加] をクリックして、新しいエクスポートを作成します。

エクスポートの設定項目:

基本情報

テンプレートを選択します。今回は すべてのデータ を選択してみます

データセット

  • エクスポートのプレフィックス: わかりやすい名前を付けます(例: daily
    • 実績、分散、フォーカスに共通の名前になります
エクスポート設定画面
エクスポートの設定: エクスポートの詳細を設定します

宛先(ストレージの設定)

  • ストレージアカウント: 手順1で作成したストレージアカウントを選択
  • コンテナー: 手順1で作成したコンテナーを選択
  • ディレクトリ: エクスポートファイルを保存するパス
ストレージ設定画面
ストレージの設定: エクスポート先のストレージアカウントとコンテナーを指定

すべての設定が完了したら、[確認して作成作成] -> [作成] をクリックします。

3. エクスポートの実行と確認

エクスポートが作成されると、設定した頻度で定期的にエクスポートが実行されます。

エクスポートの一覧画面で、エクスポートの状態を確認できます:

  • 最終実行: 最後にエクスポートが実行された日時
  • 次回実行: 次にエクスポートが実行される予定日時
エクスポート一覧画面
エクスポートの状態確認: エクスポートが正常に実行されていることを確認

エクスポートを今すぐ実行したい場合は、エクスポートを選択して [今すぐ実行] をクリックします。

エクスポートの今すぐ実行ボタン
エクスポートの手動実行: エクスポートを手動で今すぐ実行

エクスポートされたファイルの確認

しばらくするとエクスポートが完了します
ストレージアカウントのコンテナーを開くと、エクスポートされたファイルが保存されています。

エクスポートされたファイル一覧
エクスポートファイル: ストレージアカウントにエクスポートされた CSV ファイル

4. データの分析

エクスポートされた CSV ファイルをダウンロードして、Excel や Power BI で開きます。

CSV ファイルの主な列

エクスポートされた CSV ファイルには、以下のような列が含まれています:

Excel で開いた CSV ファイル
Excel でのデータ分析: エクスポートされたデータを Excel で分析

単価と数量の確認

エクスポートされたデータから、Quantity (前のスクショ) と UnitPrice (次のスクショ) の列を確認することで、各リソースの使用量と単価を把握できます。

CSV ファイルの単価と数量の列
単価と数量の確認: CSV ファイルで単価と数量を確認

まとめ

Azure のコスト分析では、単価と数量を詳細に確認することが難しいという課題がありました。
エクスポート機能を使うことで、この課題を解決し、以下のようなメリットが得られます:

  • 詳細なコストデータの取得: 単価、数量、リソース ID、タグなどの詳細情報を含むデータを取得
  • 自動化: 定期的な自動エクスポートにより、手動作業を削減
  • 柔軟な分析: Excel、Power BI などで自由に分析可能
  • 長期保存: エクスポートデータをストレージに保存し、監査証跡として活用

コスト管理は FinOps の重要な要素です。
エクスポート機能を活用して、Azure のコストを可視化し、最適化していきましょう。

余談

エクスポートした CSV を Microsoft 365 のアナリスト エージェントに取り込んで分析をお願いしてみました

アナリスト エージェントの画面
アナリスト エージェントへの取り込み: Microsoft 365 のアナリスト エージェントに CSV を取り込む

参考

共有

Kento
著者
[Kento GitHub Copilot]
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中