$ az costmanagement --init
如果说 AWS Cost Explorer 是 AWS 用户的"财务透镜",那么 Azure Cost Management 就是 Azure 用户掌控云成本的最佳武器。它不仅帮你看钱花在哪里,还能告诉你怎么省钱。
Azure Cost Management 是什么?
Azure Cost Management 是 Azure 原生的成本管理工具,原名"Azure Billing"和"Azure Advisor"的部分功能整合而成。它提供:
- 跨订阅、跨资源组的统一成本视图
- 基于时间、服务、资源的多种分析维度
- 预算设置和超支告警
- 与 Azure Advisor 集成的优化建议
- Power BI 集成,支持自定义报表
核心功能详解
1. 成本分析(Cost Analysis)
这是 Cost Management 的核心界面。你可以:
- 查看当前费用 —— 按今天/本月/上月查看实际支出
- 多维度分组 —— 服务、资源组、标签、区域
- 图表类型 —— 堆叠柱状图、饼图、瀑布图
- 留存日期 —— 36 个月的历史数据(Enterprise Agreement 用户)
2. 预算管理(Budgets)
设置成本预算,防止"月光族"式云消费:
- 按订阅、资源组或服务设置预算阈值
- 支持月度/季度/年度预算周期
- 告警触发条件:达到 80%、90%、100% 时通知
- 支持邮件和 Webhook 双通道告警
3. 成本警报(Alerts)
Azure Cost Management 支持两种告警机制:
- 预算告警(Budget Alerts) —— 基于设定阈值
- 异常告警(Anomaly Alerts) —— ML 驱动的异常检测
az consumption budget create \ --budget-name monthly-budget \ --amount 10000 \ --time-grain monthly \ --start-date 2025-05-01 \ --alert-scope subscriptions/xxxx
4. Azure Advisor 集成
Azure Advisor 是你的"免费云优化顾问",它会定期扫描你的资源并给出优化建议:
- Compute —— 建议 Right-Sizing VM、删除空闲 VM
- Storage —— 建议启用冗余存储、使用 managed disks
- Networking —— 建议使用 ExpressRoute、清理未关联的公共 IP
- Security —— 建议启用 MFA、启用加密
实战:如何用 Cost Management 发现浪费
场景一:找出空闲虚拟机
在 Cost Analysis 中,添加过滤器:
- Service: Virtual Machines
- Meter Category: Compute
然后按 Resource 分组,查看每台 VM 的小时费用。如果某台 VM 全天费用几乎相同,可能是测试环境或者已经没人用的"僵尸机"。
场景二:优化存储层级
Azure 提供多种存储层级:
- Hot —— 频繁访问,高性能需求
- Cool —— 30天+ 不访问,便宜但读取有延迟
- Cold/Archive —— 180天+ 不访问,最低成本
通过 Cost Management 查看存储服务费用,如果发现大量 Cool-tier 存储但访问量很低,可以考虑迁移到更低层级。
场景三:Reserved Instance 分析
对于稳定运行的 VM,Azure 提供 Reserved VM Instances(RIs):
- 1 年期 RI 可节省 最高 72%
- 3 年期 RI 可节省 最高 75%
Cost Management 会显示你的 RI 覆盖率和潜在节省空间。
Azure Cost Management API
如果需要自动化报告或集成到内部系统:
GET https://management.azure.com/subscriptions/{sub-id}/providers/Microsoft.CostManagement/query?api-version=2023-03-01
最佳实践
- 开启预算并设置告警 - 预防超支是第一步
- 使用 Management Groups 统一管理多个订阅
- 结合 Azure Advisor 定期查看优化建议
- 建立资源命名和标签规范 - 成本归因的基础
- 不要只看钱 - 结合业务价值评估
Azure Cost Management 让你的 Azure 云支出不再是个谜!