本記事は 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. エクスポートの作成
Azure Portal で [コスト分析] → [エクスポート] に移動します。
[+ 追加] をクリックして、新しいエクスポートを作成します。
エクスポートの設定項目:
基本情報
テンプレートを選択します。今回は すべてのデータ を選択してみます
データセット
- エクスポートのプレフィックス: わかりやすい名前を付けます(例:
daily)- 実績、分散、フォーカスに共通の名前になります
宛先(ストレージの設定)
- ストレージアカウント: 手順1で作成したストレージアカウントを選択
- コンテナー: 手順1で作成したコンテナーを選択
- ディレクトリ: エクスポートファイルを保存するパス
すべての設定が完了したら、[確認して作成作成] -> [作成] をクリックします。
3. エクスポートの実行と確認
エクスポートが作成されると、設定した頻度で定期的にエクスポートが実行されます。
エクスポートの一覧画面で、エクスポートの状態を確認できます:
- 最終実行: 最後にエクスポートが実行された日時
- 次回実行: 次にエクスポートが実行される予定日時
エクスポートを今すぐ実行したい場合は、エクスポートを選択して [今すぐ実行] をクリックします。
エクスポートされたファイルの確認
しばらくするとエクスポートが完了します
ストレージアカウントのコンテナーを開くと、エクスポートされたファイルが保存されています。
4. データの分析
エクスポートされた CSV ファイルをダウンロードして、Excel や Power BI で開きます。
CSV ファイルの主な列
エクスポートされた CSV ファイルには、以下のような列が含まれています:
単価と数量の確認
エクスポートされたデータから、Quantity (前のスクショ) と UnitPrice (次のスクショ) の列を確認することで、各リソースの使用量と単価を把握できます。
まとめ
Azure のコスト分析では、単価と数量を詳細に確認することが難しいという課題がありました。
エクスポート機能を使うことで、この課題を解決し、以下のようなメリットが得られます:
- 詳細なコストデータの取得: 単価、数量、リソース ID、タグなどの詳細情報を含むデータを取得
- 自動化: 定期的な自動エクスポートにより、手動作業を削減
- 柔軟な分析: Excel、Power BI などで自由に分析可能
- 長期保存: エクスポートデータをストレージに保存し、監査証跡として活用
コスト管理は FinOps の重要な要素です。
エクスポート機能を活用して、Azure のコストを可視化し、最適化していきましょう。
余談
エクスポートした CSV を Microsoft 365 のアナリスト エージェントに取り込んで分析をお願いしてみました
参考
- チュートリアル - 改善されたエクスポートを作成および管理する - Microsoft Cost Management | Microsoft Learn
- エクスポートを作成および管理する - Microsoft Cost Management | Microsoft Learn
- Azure Cost Management のベスト プラクティス - Microsoft Cost Management | Microsoft Learn
- コスト分析を使用してコストを調査および分析する - Microsoft Cost Management | Microsoft Learn
- Azure の使用状況と料金を表示してダウンロードする - Microsoft Cost Management | Microsoft Learn
- コスト詳細データを取り込む - Microsoft Cost Management | Microsoft Learn