Azure Cost Management でタグを使って料金をグループ化する
この記事の内容
- Azure の料金はサブスクリプション単位で管理・支払いが行われます
- タグはコストを「グループ化して可視化する」ための手段であり、タグ単位で支払うわけではありません
- Azure Cost Management のコスト分析では、サービス・リソースグループ・場所・タグなど様々な切り口でコストを分析できます
- タグは自分たちで自由にルールを決めて付与できるため、柔軟なコスト管理が可能です
- タグで管理できないサービスや購入形態も一部存在するため、100% をタグで賄うことはできません
Azure の料金管理の基本
Azure の料金はサブスクリプション単位で管理されています。サブスクリプションの中で使った分のコストが積み上がり、最終的にトータルの金額として支払いが発生します。
よくある誤解として「タグを使って料金を払う」というイメージがありますが、実際は異なります。支払い自体はあくまでもサブスクリプション単位のトータルのコストに対して行われます。タグの役割は、そのトータルコストの内訳を様々な切り口でグループ化して可視化することです。
Azure Cost Management でコストを確認する
Azure Portal から「コスト管理」に移動すると、Azure Cost Management の画面にアクセスできます。
- Azure Portal を開く
- 検索バーで「コスト管理」と入力するか、ツールメニューから「コスト管理」を選択する
- スコープ(対象のサブスクリプション)を選択する
- 「コスト分析」に移動する
コスト分析の画面では、期間を選択することで当月・前月などのコストを確認できます。グループ化を何も設定していない状態では、日ごとのコスト累積がグラフで表示されます。
コストのグループ化と様々な切り口
コスト分析画面では「グループ化」の設定によって、コストをさまざまな観点から分析できます。主な切り口には以下のようなものがあります。
- サービス別:どの Azure サービスにいくらかかったか
- リソースグループ別:
Resource Group Nameでグループ化することで、リソースグループごとのコストを確認できます - 場所(ロケーション)別:リージョンごとのコスト内訳を確認できます
たとえばリソースグループ名でグループ化すると、wordpress というリソースグループで約 9,318 円、Cloud Shell Storage West US というリソースグループで約 25 円、というようにリソースグループ単位での内訳が一覧で表示されます。
タグを使ったコストのグループ化
グループ化の切り口の一つとして、タグを使うことができます。タグは自分たちで自由にルールを決めて Azure リソースに付与できるため、既存の切り口(リソースグループ・ロケーションなど)では表現しにくいコスト分類を実現できます。
タグの付け方
リソースやリソースグループに対してタグを設定します。タグは「名前(キー)」と「値」のペアで構成されます。
例として「課金管理」というタグ名を定義し、値として「グループA」や「グループB」を設定するようなルールを決めることができます。
このタグを各リソースに付与しておくことで、コスト分析のグループ化で「課金管理」タグを選択すると、グループA・グループB それぞれのコストが可視化されます。
タグのグループ化を使うメリット
タグは自分たちで自由に定義・付与できるため、組織やプロジェクトの管理単位に合わせた柔軟なコスト分析が可能です。たとえば以下のような使い方が考えられます。
- プロジェクト単位(
project: projectA) - 環境単位(
env: production/env: staging) - 部門単位(
department: sales/department: engineering)
コスト分析では折れ線グラフ・棒グラフ・テーブルなど複数の表示形式を選べるため、タグでグループ化した結果を日単位の変動で追ったり、期間ごとの比較をしたりといった分析が柔軟に行えます。
タグ管理の注意点
タグによるコスト管理は非常に便利ですが、いくつかの制約があります。
- タグを付けられないサービスが一部存在する:すべての Azure サービスがタグに対応しているわけではありません
- 予約インスタンス(Reserved Instances):あらかじめ購入・予約した分の割り当てはタグでの管理が難しい場合があります
- Azure Marketplace の購入:Microsoft 以外のサードパーティ製品の購入はタグの適用範囲が異なることがあります
このため、タグだけですべてのコストを 100% 管理しきることはできません。タグを活用しながらも、その限界を理解した上で補完的に活用することが重要です。
契約レベルとコスト管理の階層
個人や小規模な利用の場合、課金管理の単位はサブスクリプションが基本となります。一方、大企業向けには Enterprise Agreement(EA) のような契約形態があり、サブスクリプションよりも上位の階層(アカウント・部門・契約など)でコストを管理することができます。
Azure のコスト・課金管理はこのように階層構造を持っており、一概に単純ではありません。自分たちの契約・組織の規模に合わせた管理方針を検討することが大切です。
まとめ
- Azure の料金支払いはサブスクリプション単位で行われます。タグはあくまでもコストの内訳を可視化するための分類手段です
- Azure Cost Management のコスト分析では、リソースグループ・ロケーション・タグなどさまざまな切り口でコストをグループ化して分析できます
- タグは自分たちでキーと値のルールを自由に定義して付与できるため、組織やプロジェクトの管理単位に合わせた柔軟なコスト可視化が実現できます
- 一部タグを付けられないサービスや購入形態があるため、タグで 100% のコスト管理は難しい点に注意が必要です
- まずは Azure Cost Management のコスト分析画面でグループ化の機能を試してみることで、自分たちに合ったコスト管理の方針を検討するきっかけになります