Azure 节省计划与预留
比较 Azure 节省计划、预留 VM 实例和数据库预留容量,并为混合工作负载环境制定承诺购买策略。
Azure 节省计划与预留 是 CoddyKit 上的免费 Azure Fundamentals 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Azure Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Azure Fundamentals 课程共包含 4 节课。
为什么要作出承诺以节省成本
Azure 的即用即付定价具有灵活性,但对于长期运行的工作负载来说成本较高。如果您知道某个工作负载将运行1 年或 3 年,承诺预留容量即可获得显著折扣,最高可比即用即付费率低 72%。Microsoft 提供两种承诺机制:Reserved VM Instances(特定于 SKU)和Azure Savings Plans(更加灵活)。为每个工作负载选择合适的机制,是 FinOps 中的一项关键决策。
Reserved VM Instances 说明
Reserved VM Instance (RVI) 是一项计费承诺,要求您在特定 Azure 区域使用特定的 VM SKU(例如 Standard_D4s_v5),期限为 1 年或 3 年。作为交换,Azure 会应用最高比即用即付价格低 72% 的折扣。该折扣会自动应用于任何与预留 SKU 和区域匹配的正在运行的 VM,您无需将 reservation 关联到特定 VM。Reservations 可以交换或取消(未使用价值需支付 12% 的提前终止费用)。
# Purchase a 1-year Reserved VM Instance via CLI
az reservations reservation-order purchase \
--sku 'Standard_D4s_v5' \
--location eastus \
--reserved-resource-type VirtualMachines \
--billing-scope '/subscriptions/<subscriptionId>' \
--term P1Y \
--billing-plan Monthly \
--quantity 1 \
--display-name 'MyWebServer-Reservation'实例大小灵活性
默认情况下,Reserved VM Instances 在同一 VM 系列族内支持实例大小灵活性。例如,针对 Standard_D4s_v5(4 个 vCPUs)的 reservation,也可以覆盖两个 Standard_D2s_v5(每个 2 个 vCPUs),或覆盖一个 Standard_D8s_v5 的一半容量。这种灵活性使您能够合理调整 VM 大小,而不会失去 reservation 带来的收益。大小灵活性不适用于不同的系列族或区域。
面向 Compute 的 Azure Savings Plans
Azure Savings Plans 是 Reserved VM Instances 更加灵活的替代方案。您不必承诺使用特定 SKU,而是承诺在符合条件的 Compute 上进行固定的每小时美元支出,这些 Compute 可位于任何区域、使用任何 SKU 或 OS,包括 VM、App Service、Container Instances 和 Azure Functions Premium。Savings Plans 最高可比即用即付费率低 65%,虽然略低于 RVI 的最高折扣,但无需交换承诺即可更改 VM 类型、区域和服务,这一灵活性带来了显著的运营优势。
# Purchase a Compute Savings Plan at USD 10/hour for 1 year
az savings-plan order purchase \
--sku 'Compute_Savings_Plan' \
--billing-scope '/subscriptions/<subscriptionId>' \
--term P1Y \
--billing-plan Monthly \
--commitment '{ 'amount': 10, 'currencyCode': 'USD', 'grain': 'Hourly' }' \
--display-name 'ComputeSavingsPlan2024'数据库的预留容量
托管数据库服务也提供预留容量。Azure SQL Reserved Capacity 适用于 Azure SQL Database 和 SQL Managed Instance vCore 购买,可节省最高 55% 的费用。Cosmos DB Reserved Capacity 适用于预配吞吐量(RU/s),最高可节省 65%。数据库 reservations 遵循相同的 1 年或 3 年期限模型,并自动应用于匹配的部署,无论这些部署属于哪个订阅(当 reservation 范围涵盖管理组或计费帐户时)。
在 RVI 和 Savings Plans 之间选择
请参考以下决策指南:当 VM SKU 稳定时(您确定数年内都会使用特定大小),并且希望获得尽可能高的折扣(最高 72%),请选择Reserved VM Instances。当您预计会更改 SKU(例如升级到更新一代的 VM)、需要涵盖多个服务(混合使用 VM 和 App Service)或在多个区域运行时,请选择Savings Plans。对于真正具有突发性或生命周期较短的工作负载,即用即付或 Spot VM 更为合适。
Azure Hybrid Benefit
Azure Hybrid Benefit (AHB) 允许您将现有的本地Windows Server或SQL Server许可证(具有有效的 Software Assurance)应用于 Azure VM 和托管服务,从 Azure 每小时费率中免除许可证成本。在 Windows Server VM 上启用 AHB 后,其成本可降低约 40%。如果再结合 3 年期 Reserved VM Instance,包含完整许可证成本的 Windows Server VM 相比即用即付 VM 可便宜 80%。
# Enable Azure Hybrid Benefit on an existing VM
az vm update \
--resource-group myRG \
--name myWindowsVM \
--license-type Windows_ServerReservation 范围选项
购买 reservation 时,您需要选择其范围:单个订阅(折扣仅应用于该订阅)、共享范围(折扣应用于计费帐户或管理组中的所有订阅),或管理组范围(最新选项,应用于管理组中的所有订阅)。对于大型组织,建议使用共享范围或管理组范围,因为 reservation 引擎会自动将折扣匹配到符合条件的 VM 所在的位置。
监视 Reservation 利用率
未被使用的 reservation 就是浪费的资金。请在Azure 门户 > Reservations部分监视 reservation 利用率,其中会显示每个 reservation 已被使用的百分比。当 reservation 利用率低于可配置的阈值(默认值为 60%)时,Azure 还会发送利用率警报。如果某个 reservation 持续利用不足,请调查预留的 SKU 是否仍在部署中,并考虑将其交换为使用更加活跃的其他 SKU。
# Check reservation utilisation
az reservations reservation list \
--reservation-order-id <orderId> \
--query '[].{Name:name, Utilization:properties.utilization.aggregates[0].value}'交换和取消策略
Azure 允许您随时将现有 reservation 交换为不同的 SKU、区域或期限,且不收取费用,但新的 reservation 必须具有相等或更高的价值。每个连续 12 个月周期内最多可以取消 50,000 美元的 reservation,但需要针对剩余价值支付 12% 的提前终止费用。对于规模较大的 reservation 组合,请建立季度审查流程,以便随着工作负载组合的变化,识别应当交换的 reservations。
承诺购买策略
制定承诺策略的最佳实践是:先让所有工作负载按即用即付方式运行 30–60 天,以收集利用率数据。识别使用情况稳定且可预测的工作负载(预留候选项)。仅为稳定基线购买 reservations 或 savings plans,不要为峰值容量购买,因为峰值容量更适合使用即用即付或自动缩放。通常,成熟的 Azure 环境会将70–80% 的 Compute 纳入承诺,其余 20–30% 则针对动态工作负载采用灵活的即用即付方式。
快速检查
测试您对本课 Microsoft Azure Fundamentals (AZ-900) 概念的理解。
课程回顾
在本课中,您学习了以下内容:Reserved VM Instances 为特定于 SKU 的承诺提供最高 72% 的折扣;Azure Savings Plans 在服务和区域之间提供灵活性,并提供最高 65% 的折扣;Azure Hybrid Benefit 可免除 Azure 上 Windows Server 和 SQL Server 工作负载的许可证成本。接下来,我们将使用这些成本工具构建完整的 FinOps 分摊模型。
常见问题解答
「Azure 节省计划与预留」课时是免费的吗?
是的 — 「Azure 节省计划与预留」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Azure Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Azure Fundamentals 课程共包含 4 节课。
「Azure 节省计划与预留」这节课中我会学到什么?
比较 Azure 节省计划、预留 VM 实例和数据库预留容量,并为混合工作负载环境制定承诺购买策略。 你通过在浏览器中直接运行的动手代码来练习 Azure Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Azure Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Azure Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「Azure 节省计划与预留」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Azure Fundamentals 课中编写并运行代码吗?
能。每节 Azure Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 识别并消除浪费
- 调整大小与自动缩放
- Azure 节省计划与预留
- FinOps 与分摊模型