Contents
Azure Cost Management クイックスタート(やることリスト)
最短で効果を出すための優先順を示します。まずは閲覧権限の確保と過去30日の基線取得、簡易予算の設定と通知までを最初に行います。
即効でやること(最初の7日)
最小の工数で効果を出す初動タスクです。
- 契約形態(Pay‑As‑You‑Go / EA / CSP / Billing)を把握し、どのスコープで請求データが見られるか確認する。
- 最低限の権限を付与:サブスクリプションであれば Cost Management Reader を付与(Export や予算作成は追加ロールが必要)。
- Cost Analysis で過去30日の基線を取得し、上位10件のコスト要因を特定する。
- 50/75/90/100% の簡易予算を作り、Action Group を使って通知先を設定する(まずはメールとTeams)。
- Export を作成して毎日または週次で使用明細を Storage に出力する(Storage の権限とセキュリティを同時に設定する)。
CLI・PowerShell 実行の前提
- 実行環境は Azure CLI(実行前に az --version で最新安定版を確認)か Az PowerShell。
- 一部コマンドは拡張機能が必要になる場合があるため、公式ドキュメントを参照して確認する。
- ロール付与は十分な権限(Owner 等)があるアカウントで実行する。
30/60/90日ロードマップ(要点)
30/60/90日で段階的に自動化と投資判断を行います。
- 0–30日:権限確認、タグ最低セットの適用、基線取得、月次予算と50/75/90%通知の設定、Advisorの初期確認(低リスク施策を実施)。
- 31–60日:Cost Export の自動化、Logic Apps/Functions でレポート化、スポット/スケール適用の PoC、RI/Savings の初期試算。
- 61–90日:RI/Savings の最終判断と購入、ダッシュボード定着、Playbook・SLA の運用化、成果の定量報告。
よくある初期の疑問(FAQ・短答)
最初に多い質問に短く答えます。
-
Q: データはリアルタイムですか?
A: 通常は数時間〜48時間の遅延があります。Marketplace等はさらに遅れる場合があります(下段で詳細説明)。 -
Q: Cost Management Reader だけで全て見られますか?
A: サブスクリプション内のコスト分析は可能ですが、EA/請求スコープやエクスポートの書込には追加ロールが必要です。
初期導入と権限・契約別の前提(Azure Cost Management)
権限と契約形態が運用の前提を決めます。契約ごとに請求データのスコープと必要ロールが変わるため、初動で整理してください。
サブスクリプション(Pay‑As‑You‑Go)
サブスクリプション単位の基本的な取り扱いです。
- 必要ロール(典型例)
- Cost Management Reader:読み取り専用で Cost Analysis を閲覧可能。
- Cost Management Contributor:予算作成など編集が可能。
- Storage Blob Data Contributor:Export の出力先に書き込む際に必要(Managed Identity 利用時も同様)。
- ロール付与(Azure CLI 例)
|
1 2 3 4 5 |
az role assignment create \ --assignee "<userPrincipalName-or-objectId>" \ --role "Cost Management Reader" \ --scope /subscriptions/<subscriptionId> |
- 期待される出力(概略)
|
1 2 3 4 5 6 7 |
{ "id": "...", "roleDefinitionId": "...", "principalId": "...", "scope": "/subscriptions/<subscriptionId>" } |
実務の注意点
- サブスクリプションのコストはサブスクリプションスコープで完結するが、請求書(インボイス)や支払い情報は別スコープの可能性あり。
EA / Billing(Enterprise Agreement・MCA)と CSP の違い
契約タイプ別の読み取り範囲と注意点を整理します。
- EA / MCA(Enterprise Agreement / Microsoft Customer Agreement)
- 請求データは「請求アカウント」や「課金プロファイル」スコープに存在します。
- Billing Reader / Billing Account Reader 等の請求スコープ用ロールが必要なことが多いです。
- エンタイトルメントや割引の扱いが契約で異なり、RI/Savings の表示や適用に差分が出ます。
- CSP(Cloud Solution Provider)
- パートナー経由で請求が管理されるため、顧客側で請求アカウントへ直接フルアクセスできない場合があります。
- CSP パートナーにレポート提供や権限付与を依頼してください。
権限表(簡易)
| 契約 | コスト分析閲覧 | 請求書/課金情報 | Export 書込 |
|---|---|---|---|
| サブスクリプション | Cost Management Reader | 同一サブスクリプションなら可 | Storage Blob Data Contributor |
| EA/MCA | 要 Billing Reader 等 | Billing scope の権限が必要 | 同上(Billing scopeからのExportは追加条件あり) |
| CSP | パートナー次第 | パートナーに要問合せ | パートナー権限が必要な場合あり |
公式ドキュメントで契約別の権限モデルを確認してください(Billing 関連ドキュメント参照)。
実務チェックリスト(権限周り)
導入前と導入直後に必ず確認する項目です。
- 誰が請求データにアクセスできるか(人リスト)を明確化する。
- エクスポート先ストレージの書込権限をManaged Identityに与える設計を行う。
- Billing スコープが絡む場合は Billing Reader 等の適切ロールを取得する。
- ロール変更は監査ログに記録し、定期的にレビューする。
Cost Analysis とタグ設計(分析手順と配賦)
Cost Analysis はまず基線を取ることが重要です。タグが無いと調査工数が増えるため、必須タグを決めて段階的に適用してください。
Cost Analysis の基線取得と手順
基線取得は定量的判断の出発点になります。過去30日または月次での比較を行ってください。
- 基本手順
- 対象スコープを選ぶ(サブスクリプション、マネージメントグループ、請求アカウント)。
- 期間を過去30日・月次で比較する。
- Group by を順にタグ→リソースグループ→リソースで絞る。
- 高コストの継続性(スパイクか常時か)を判定する。
- CLI サンプル(Cost Management Query)
|
1 2 3 4 5 6 7 8 9 10 |
az costmanagement query \ --scope "/subscriptions/<subscriptionId>" \ --type Usage \ --timeframe MonthToDate \ --dataset '{ "granularity":"Daily", "aggregation":{"totalCost":{"name":"PreTaxCost","function":"Sum"}}, "grouping":[{"type":"Dimension","name":"ResourceGroupName"}] }' |
- データ遅延の注意
- 通常の使用明細は数時間〜48時間程度の遅延があります。Marketplace やサードパーティ請求はさらに遅延する場合があります。即時の課金確定は期待しないでください。
タグ設計とAzure Policyでの強制
タグはコスト配賦の基礎です。最小セットで始めて徐々に強化してください。
- 推奨最小タグ
- costCenter、project、env(prod/stg/dev)、owner
- 命名ルール(例)
- env は prod/stg/dev に固定、project は英数字ハイフンのみ、owner は短縮形を定義
- 運用方法
- Azure Policy の組み込み定義(Append tag / Enforce tag)で作成時にタグ付与を自動化する。
- 既存リソースはスクリプトでタグ付けし、未設定リストを月次レポートに含める。
- Azure Policy 割当コマンド例(概念)
|
1 2 3 4 5 |
az policy assignment create \ --name "enforce-tags" \ --scope "/subscriptions/<subscriptionId>" \ --policy "/providers/Microsoft.Authorization/policyDefinitions/<definitionId>" |
予算(Budgets)・アラートとPlaybook(テンプレートと運用)
予算とアラートは運用の要です。通知だけで終わらせず、受け手とSLA、エスカレーションを決めて運用してください。
予算JSONテンプレートと注意事項
Budget API のプロパティは API バージョンや CLI の実装で変わるため、テンプレートは公式ドキュメントに合わせて調整してください。以下は概念テンプレートです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "properties": { "category": "Cost", "amount": 5000, "timeGrain": "Monthly", "timePeriod": { "startDate": "2026-05-01", "endDate": "2027-04-30" }, "notifications": { "at50": { "enabled": true, "threshold": 50, "operator": "GreaterThan", "actionGroups": [ "/subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/microsoft.insights/actionGroups/<actionGroupName>" ] }, "at90": { "enabled": true, "threshold": 90, "operator": "GreaterThan", "actionGroups": [ "/subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/microsoft.insights/actionGroups/<actionGroupName>" ] } } } } |
注意点
- Budget の作成には Cost Management Contributor 相当の権限が必要な場合があります。契約スコープにより要件が変わるため公式ドキュメントを確認してください。
- 通知先の Action Group は事前にテストし、ノイズ率を抑える設定に調整してください。
アラートのPlaybookとエスカレーション文例
アラート受信時の手順と文面をテンプレート化しておくと対応が早くなります。
- 推奨フロー(簡易)
- 受信(Action Group)→ 2. Logic Apps で解析(原因候補抽出)→ 3. 自動チケット起票(ServiceNow/Jira)→ 4. 所有者へ通知→ 5. 24時間以内に一次対応
- メール件名(例)
- [コスト警告] サブスクリプション
が予算の90% を超過 - メール本文(例)
-
影響範囲: subscription=
/ project=
到達率: 92%(予算 5,000 円、実績 4,600 円)
上位要因: VM (xx)、Storage (yy)
次のアクション: 1) 所有者へ確認 2) 不要リソース停止(承認済みの場合) 3) 72時間以内に結果報告 -
SLA 例
- 75% 到達:72時間以内に原因特定・対応計画提出
- 90% 到達:24時間以内に一次対応(スケール/停止等)
- 100% 到達:即時エスカレーション(経営/財務)
Action Group と Logic Apps の連携(役割と権限)
自動化フローの実行主体と権限を明確にします。
- 推奨構成
- Logic Apps / Azure Functions を Managed Identity で実行
- MI に対して以下を付与
- Cost Management Reader(Query 呼び出し用、スコープに応じて)
- Storage Blob Data Contributor(Export 書込先)
- Key Vault からシークレット取得がある場合は必要な Key Vault アクセス許可
- セキュリティ
- Key Vault のアクセスポリシーを利用し、最低権限で運用する。SAS トークンは短期間に限定する。
エクスポート・自動化・即効施策(API・Kusto・セキュリティ)
レポートの自動化と即効施策を安全に運用する方法を示します。Export のセキュリティ設計と自動化の権限周りを重点的に扱います。
Export と Storage のセキュリティ要件
Export を安全に運用するための具体的な要件です。
- 設計要点
- Export 先は専用の Storage を推奨。アクセスは private endpoint / ストレージファイアウォールで限定する。
- Managed Identity を用いて書込する場合、MI に Storage Blob Data Contributor を付与する。
- SAS を使う場合は有効期限を短めにし、可能なら Key Vault で管理する。
- 暗号化はデフォルトで有効。組織要件であれば CMK(Customer Managed Key)を検討する。
- Storage 作成とロール付与(例)
|
1 2 3 4 5 6 7 8 9 10 11 12 |
az storage account create \ --name <sa> \ --resource-group <rg> \ --sku Standard_LRS \ --kind StorageV2 \ --https-only true az role assignment create \ --assignee "<miPrincipalId>" \ --role "Storage Blob Data Contributor" \ --scope "/subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<sa>" |
Cost Management Query API と Kustoサンプル
Query API と、Export 後に取り込んだデータを分析するための Kusto(ADx/Log Analytics)サンプルを示します。スキーマは Export 設定で変わるため、適宜調整してください。
- Cost Management Query(CLI 再掲)
|
1 2 3 4 5 6 7 8 9 10 |
az costmanagement query \ --scope "/subscriptions/<subscriptionId>" \ --type Usage \ --timeframe MonthToDate \ --dataset '{ "granularity":"Daily", "aggregation":{"totalCost":{"name":"PreTaxCost","function":"Sum"}}, "grouping":[{"type":"Dimension","name":"ResourceGroupName"}] }' |
- 期待される応答の簡易例(省略形)
|
1 2 3 4 5 |
{ "columns":[{"name":"ResourceGroupName"},{"name":"PreTaxCost"}], "rows":[["rg-app",12.34],["rg-db",7.89]] } |
- Kusto サンプル(Export を Log Analytics / ADX に取り込んだ想定)
|
1 2 3 4 5 6 |
// 上位リソースグループの合計コストを直近30日で集計 CostExport_CL | where UsageDate >= ago(30d) | summarize TotalCost = sum(PreTaxCost) by ResourceGroupName | top 10 by TotalCost desc |
スキーマ注意
- CSV の列名や JSON のプロパティ名は Export タイプ(Usage / Amortized など)によって変わります。取り込み時にマッピングを定義してください。
即効施策と運用リスク(Advisor / RI / スポット / 自動停止)
即効性の高い施策と、現場での運用リスクと対策を示します。
- Azure Advisor の活用
- Advisor の Cost 推奨は優先度と推定節約額でソートして実施。CLI でも取得可能だが、コマンド群は拡張や API 変更があり得るため公式ドキュメントを参照してください。
- 優先度は「推定節約額」「実装コスト」「ビジネス影響」で判断する。
- RI / Savings Plans の選定フロー
- 過去 3–12 ヶ月の利用データで安定性を確認する。
- 将来のアーキテクチャ変更予定を考慮する。
- ROI の簡易試算(月間節約、回収期間)を行い、PoC →購入に移す。
- スポット VM と自動シャットダウンの運用リスク
- スポットは中断されるため、ステートレスバッチやリトライ設計に限定する。中断時のフォールバック(オンデマンド VM の自動起動など)を用意する。
- 自動シャットダウンは DB 依存やセッション影響を確認し、ステージングで必ずテストする。
- テスト手順:影響範囲評価 → ステージングで POC(負荷/中断試験)→ 監視とアラート適用 → 本番適用 → フォールバック手順を文書化。
まとめ
まずは最小限の権限でコストを「見える化」し、短期で基線と予算フローを作ることが成果を早めます。契約形態(EA/CSP/Billing)ごとの権限差とデータ遅延を前提に、自動化とセキュリティを段階的に整備してください。
- 初動(7日): 権限確認、過去30日の基線、簡易予算と通知設定
- 30日: タグ適用、Cost Export の自動化、Advisor の低リスク施策実施
- 60–90日: PoC(スポット/オートスケール)、RI/Savings の最終判断、Playbook 定着
- 権限とExport: Billing スコープは特に注意、Storage 書込は Storage Blob Data Contributor を検討
- セキュリティ: Storage のファイアウォール/Private Endpoint、SAS 有効期限短縮、Key Vault で秘密管理
参考(主要ドキュメント)
-
Cost Management ベストプラクティス(Microsoft Learn)
https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/cost-mgt-best-practices -
Budgets API / 作成方法(公式)
https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/tutorial-acm-create-budgets -
Cost Management Query API(公式)
https://learn.microsoft.com/ja-jp/rest/api/cost-management/Query/Usage
(注)CLI / API のパラメータ名や挙動はバージョンや契約形態で変わる場合があります。運用前に az --version や公式ドキュメントを確認し、Sandbox で検証してから本番適用してください。