成本削减策略 - Savings Plans 与 Reserved Instances 的比较与选择

比较并解说 AWS Savings Plans 与 Reserved Instances(RI)的机制 / 折扣率 / 灵活性。介绍 Compute / Database / EC2 Instance / Amazon SageMaker AI 这 4 种类型的选用和购买策略。

承诺折扣的基本概念

在 AWS 的定价模型中,按需价格是基础,但通过承诺一定期间的使用,可以获得大幅折扣。承诺折扣有 Savings Plans 和 Reserved Instances(RI)两种机制。RI 是自 2009 年起提供的传统折扣,通过指定特定的实例类型 / 区域 / 租赁方式进行预留。Savings Plans 是 2019 年推出的新折扣模型,采用承诺每小时使用金额(美元/小时)的方式。例如,声明“承诺每小时 10 美元的计算使用”后,折扣会自动应用于该金额范围内的使用。Savings Plans 与 RI 相比灵活性更高,AWS 推荐将 Savings Plans 作为新的承诺折扣。不过,这并不意味着 RI 已被废止,在特定的使用场景中,RI 有时也能获得更高的折扣率。

Savings Plans 的 4 种类型

Savings Plans 提供 4 种类型(截至 2026 年 8 月 / 据官方 Savings Plans types 页面记载)。Compute Savings Plans 是最灵活的类型,横跨 EC2 实例、Fargate 任务、Lambda 函数适用。即使自由变更实例系列、大小、区域、操作系统、租赁方式,折扣也会持续。折扣率相对按需价格最高为 66%。EC2 Instance Savings Plans 以承诺特定区域和实例系列(例如:ap-northeast-1 的 m5 系列)为代价,提供最高 72% 的高折扣率。同一系列内的大小变更(m5.large → m5.xlarge)和操作系统变更不受限制。Database Savings Plans 是适用于数据库类服务使用量的类型,提供最高 35% 的折扣(详见下一节)。Amazon SageMaker AI Savings Plans(旧称 SageMaker Savings Plans)是专门针对 SageMaker AI 实例使用的类型。它跨实例系列 / 大小 / 区域 / 组件(笔记本、训练、推理等)适用最高 64% 的折扣,用于 ML 工作负载的成本优化。承诺期限为 1 年或 3 年。支付选项有全额预付(最大折扣)、部分预付(中间)、无预付(最小折扣)3 种(例外是 Database Savings Plans 仅限 1 年 / 无预付)。3 年 / 全额预付可以获得最高的折扣率,但与灵活性之间存在权衡。

Database Savings Plans 与数据库类服务的选择方法

Database Savings Plans 是对数据库类服务的使用量提供最高 35% 折扣的类型(截至 2026 年 8 月)。适用范围为 Aurora、RDS、DynamoDB、ElastiCache、DocumentDB、Timestream、Neptune、Keyspaces、DMS、OpenSearch Service。对于最新一代的预置实例,无论引擎、实例系列、大小、可用区、区域如何都会自动适用,也适用于无服务器的使用量。因此,即使跨越 Aurora 从 db.r7g 迁移到 db.r8g、从 RDS for Oracle 迁移到 Aurora PostgreSQL-Compatible Edition、将工作负载从 RDS 移到 DynamoDB 等配置变更,折扣也会维持。数据库类的承诺折扣还有预留实例(RDS / ElastiCache / OpenSearch Service / Redshift 的预留实例(在 ElastiCache 和 Redshift 中称为预留节点)、DynamoDB 的预留容量)。这类折扣以固定适用范围为代价,有时可以获得各服务的高折扣率。一种分工方式是:如果预计会迁移引擎或服务、切换到无服务器,就选 Database Savings Plans;如果在固定配置的状态下长期运营,就选相应服务的预留实例。按照这种分工来考虑,选择会变得容易。

与 RI 的比较和选用

Savings Plans 与 RI 的主要区别在于灵活性与折扣率之间的平衡。RI 会固定实例类型(Standard RI)或实例系列(Convertible RI),因此难以适应工作负载的变化。但另一方面,Standard RI 提供最高 72% 的折扣率。Convertible RI 可以交换,但折扣率降至最高 66%。Savings Plans 的 Compute 类型的折扣率与 Convertible RI 相当,但其优点在于可以跨区域和服务(EC2/Fargate/Lambda)适用。作为实践中的选用方式,以下策略是有效的。对于 24/7 运行的生产 DB 服务器等肯定会持续使用的实例,用 EC2 Instance Savings Plans(或 Standard RI)争取最大折扣。同时,对于开发环境和批处理等配置可能变化的工作负载,用 Compute Savings Plans 确保灵活性。Savings Plans 与 RI 可以并用,折扣的适用顺序为 RI → Savings Plans。

购买策略与 Cost Explorer 的利用

购买 Savings Plans 时最重要的是确定合适的承诺金额。Cost Explorer 的 Savings Plans 推荐功能会分析过去 7 天 / 30 天 / 60 天的使用模式,自动算出最优的承诺金额和预估节省额。按照推荐购买是最安全的,但有几点需要注意。首先,由于其前提是过去的使用量在未来也会持续,如果计划进行大幅的工作负载变更,就需要调整推荐值。其次是不凭自己的直觉来定死购买金额。推荐界面会同时列出按所选期间的使用量计算的每月按需支出、按推荐金额购买时的预估每月支出以及预估每月节省额。因此,在购买前就可以了解承诺的过剩或不足会以多少金额体现出来。同样的推荐值也可以通过 Cost Explorer API 的 GetSavingsPlansPurchaseRecommendation 获取。还可以比较改变分析期间和支付选项后的多个方案。未使用的承诺部分不会用于折扣,会被浪费。因此,对于使用量低谷深的工作负载,不一次性全额购买推荐金额,而是先承诺肯定会保留的底部,再根据实际记录追加购买,这样更安全。通过 Cost Explorer 和 Budgets 持续监控 Savings Plans 的使用率和覆盖率。使用率低于 100% 时表示购买过多,覆盖率低时需要考虑追加购买。

承诺折扣的费用比较

(以下折扣率为截至 2026 年 8 月的官方数值。最新数值请在 Savings Plans 用户指南的 Savings Plans types 页面和 Savings Plans 的定价页面确认。)Compute Savings Plans 横跨 EC2 / Fargate / Lambda 适用,折扣最高为 66%。EC2 Instance Savings Plans 限定于特定的实例系列和区域,但折扣最高为 72%。Database Savings Plans 适用于 Aurora / RDS / DynamoDB / ElastiCache 等数据库类服务,折扣最高为 35%。Amazon SageMaker AI Savings Plans 适用于 SageMaker AI 的使用量,折扣最高为 64%。RI(Reserved Instances)除 EC2 外,还以 RDS / ElastiCache / OpenSearch Service / Redshift 的预留实例(在 ElastiCache 和 Redshift 中称为预留节点)、DynamoDB 的预留容量的形式提供。在 EC2 中,Standard RI 最高为 72%,Convertible RI 最高为 66%,与 Savings Plans 处于同等水平,但由于适用范围固定,灵活性低。用 EC2 Instance 计划覆盖稳定的基线、用 Compute 计划覆盖变动部分的组合是有效的。

总结 - 承诺折扣的选择指南

AWS Savings Plans 作为灵活性高的承诺折扣模型,是取代 RI 的成本削减主要手段。Compute Savings Plans 可以横跨 EC2 / Fargate / Lambda 适用,具有经得起工作负载变化的灵活性。EC2 Instance Savings Plans 以限定于特定实例系列为代价,提供高折扣率。数据库类有 Database Savings Plans,包括无服务器的使用量在内,适用最高 35% 的折扣。通过 Cost Explorer 的推荐功能算出最优承诺金额,从肯定会保留的使用量开始承诺,再一边查看实际记录一边追加购买,这种方法是安全的。判断是否采用的标准不是支出金额的大小,而是该使用量今后是否有望稳定持续。最低承诺金额实际上没有下限,从每小时极小额的承诺开始也可以购买,因此即使规模小,如果有持续运行的使用量,就值得考虑。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享