0Pricing
Cloud & IT Cert Prep · 课时

识别并消除浪费

使用 Azure Cost Management 和 Advisor 建议查找闲置 VM、未连接的磁盘、过度预配的服务和僵尸资源,然后将其停用。

识别并消除浪费 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

云资源浪费:隐藏的成本驱动因素

研究持续表明,组织在闲置、过度预配或被遗忘的资源上浪费了云支出的 25–35%。在 Azure 中,常见的浪费来源包括全天运行但 CPU 使用率接近零的 VM、删除 VM 后遗留的未连接托管磁盘、孤立的公共 IP 地址以及未使用的应用服务计划。识别并消除这些浪费,是任何 FinOps 实践中最先应采取且 ROI 最高的步骤。

Azure Advisor 成本建议

Azure Advisor 会持续分析您的资源利用率,并自动生成Cost 建议。常见建议包括:调整规格或关闭利用率不足的 VM(连续 7 天 CPU 利用率低于 5% 或内存利用率低于 2%)、为持续运行的 VM 购买预留实例、删除未连接的公共 IP 地址,以及移除处于闲置状态的应用程序网关实例。每条建议都会显示预计每月节省金额,便于您根据影响确定优先级。

# List Advisor cost recommendations via CLI
az advisor recommendation list \
  --category Cost \
  --query '[].{Resource:resourceName, Impact:impact, Savings:extendedProperties.annualSavingsAmount}' \
  --output table

查找闲置和利用率不足的 VM

Azure Monitor 会收集每个 VM 的CPU 百分比和网络入站/出站指标。CPU 持续低于 5% 的 VM 很适合进行规格调整或关闭。使用 Azure Monitor 中的虚拟机见解功能,可以查看整个 VM 群体在 24 小时、7 天或 30 天内的 CPU 和内存利用率。针对利用率不足 VM 的 Advisor 建议会直接链接到性能图表,便于您在采取操作前确认这一模式。

# Query average CPU for a VM over the last 7 days
az monitor metrics list \
  --resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
  --metric 'Percentage CPU' \
  --interval PT1H \
  --start-time 2024-06-01T00:00:00Z \
  --end-time 2024-06-08T00:00:00Z \
  --aggregation Average

未连接的磁盘和快照

删除 VM 时,如果未选择同时删除其磁盘,托管磁盘仍会保留并持续产生费用。在 Azure 门户中,将磁盘筛选为磁盘状态:Unattached,即可找到这些孤立磁盘。同样,为备份或迁移而创建的旧快照也经常被遗忘。快照存储比托管磁盘存储便宜,但在大型订阅中,遗忘一年的快照每年累积的费用可能达到数千美元。

# Find all unattached managed disks in a subscription
az disk list \
  --query '[?diskState == `Unattached`].{Name:name, RG:resourceGroup, SizeGB:diskSizeGb}' \
  --output table

孤立的公共 IP 地址和网络接口

Azure 中的公共 IP 地址即使未与正在运行的资源关联,也会产生费用。当删除 VM 或负载均衡器时,其公共 IP 和网络接口可能仍会保留。在门户中,将公共 IP 地址筛选为关联到:None,然后删除不再需要的地址。同样,未连接到任何 VM 或服务的孤立网络接口也可以安全移除。这些费用单项金额不高,但在数百个资源之间会不断累积。

# Find unassociated public IP addresses
az network public-ip list \
  --query '[?ipConfiguration == null].{Name:name, RG:resourceGroup, SKU:sku.name}' \
  --output table

僵尸资源:暂存和开发环境

僵尸资源是指已预配但随后被遗忘的长期存在的暂存、测试或概念验证环境。与闲置的生产 VM 不同,这些资源可能在工作时间有中等利用率,但已不服务于任何活动项目。请实施资源标记策略,要求每个资源都包含 Environment 和 Project 标记,然后针对 Environment=Dev 或 Environment=Test 且已超过 90 天的资源安排自动警报。

# Find resources tagged as Dev that are over 90 days old (approximate via createdTime)
az resource list \
  --tag Environment=Dev \
  --query '[].{Name:name, Type:type, RG:resourceGroup}' \
  --output table

开发和测试 VM 的自动关机

Azure VM 支持自动关机功能,可在每天配置的时间自动停止 VM。请在所有开发和测试 VM 上启用此功能,确保它们不会在夜间或周末运行。例如,全天候运行的开发 VM 每周计费 168 小时;如果将其配置为工作日每天 18:00 自动关机、08:00 自动启动,则每周只运行50 小时,计算成本约可节省 70%。

# Enable auto-shutdown at 18:00 UTC on a dev VM
az vm auto-shutdown \
  --resource-group myRG \
  --name myDevVM \
  --time 1800 \
  --email admin@contoso.com

Azure 成本管理:异常检测

Azure 成本管理包含Anomaly Detection 功能,可使用机器学习识别支出的异常峰值。当订阅或资源组的成本显著偏离预测模式时,例如有人意外部署了 GPU VM,或忘记删除 ExpressRoute 网关,成本管理会通过电子邮件发送异常警报。设置异常警报是一项快速见效的措施,可以在失控的成本出现在月度账单之前及时发现问题。

# Create a cost anomaly alert
az costmanagement alert create \
  --name 'AnomalyAlert' \
  --scope '/subscriptions/<subscriptionId>' \
  --type 'Anomaly' \
  --contact-emails 'finance@contoso.com'

调整存储和数据库层级的规格

并非所有浪费都与计算有关。在 Business Critical 层级上预配、但只运行简单读密集型查询的Azure SQL 数据库,其性能可能与 General Purpose 层级完全相同,而成本只有一半。很少访问的Blob Storage 数据应使用生命周期管理策略,从 Hot 层级移至Cool 或 Archive 层级。Azure Advisor 会同时提供数据库和存储规格调整建议,以及计算资源相关建议。

# Create a Blob lifecycle policy to move data to Cool tier after 30 days
az storage account management-policy create \
  --account-name mystorageacct \
  --resource-group myRG \
  --policy @- << 'POLICY'
{
  'rules': [{
    'name': 'MoveOldDataToCool',
    'type': 'Lifecycle',
    'definition': {
      'actions': { 'baseBlob': { 'tierToCool': { 'daysAfterModificationGreaterThan': 30 } } },
      'filters': { 'blobTypes': ['blockBlob'] }
    }
  }]
}
POLICY

建立消除浪费的待办列表

请将成本优化视为持续的工程实践,而不是一次性活动。在 Azure DevOps 或 Jira 中创建FinOps 待办列表,每周根据 Advisor 建议和成本异常警报生成待办项。将每项资源浪费任务分配给负责团队,并设置目标解决日期。跟踪已实现的节省与已识别的节省,以衡量 FinOps 的成熟度。安排工程负责人和财务人员参加每月成本评审,让整个组织持续关注消除浪费。

通过治理防止未来浪费

预防比补救更具成本效益。使用Azure Policy,在未经批准的情况下禁止创建昂贵的 VM SKU(例如 GPU 或 M 系列),要求所有资源都包含 Environment 和 ExpiryDate 标记,并在开发订阅中新创建的 VM 上自动启用自动关机。将这些策略与设置为月度分配额 80% 和 100% 的预算警报结合使用,以便团队在发生超支之前收到通知。

快速检查

测试您对本课 Microsoft Azure Fundamentals (AZ-900) 概念的理解。

课程回顾

本课介绍了:Azure Advisor 会为闲置 VM、未连接磁盘和过度预配的服务提供可执行的成本建议;开发 VM 的自动关机可将计算支出降低 70%;而结合标记的治理策略则可防止未来浪费不断累积。接下来,我们将学习规格调整技术和自动缩放策略。

常见问题解答

「识别并消除浪费」课时是免费的吗?

是的 — 「识别并消除浪费」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「识别并消除浪费」这节课中我会学到什么?

使用 Azure Cost Management 和 Advisor 建议查找闲置 VM、未连接的磁盘、过度预配的服务和僵尸资源,然后将其停用。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「识别并消除浪费」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 识别并消除浪费
  2. 调整大小与自动缩放
  3. Azure 节省计划与预留
  4. FinOps 与分摊模型
← 返回 Cloud & IT Cert Prep