写点什么

Reserved instances & Savings Plans

作者:冯亮
  • 2022 年 7 月 24 日
  • 本文字数:2041 字

    阅读完需:约 7 分钟

Reserved instances & Savings Plans

今天我们来看两个在 AWS 成本管理和优化范畴中十分重要,而且特别容易混淆的计费方式 - 预留实例(Reserved instances)和节省计划(Savings Plans)。当我们开始使用 AWS 中的计算资源时,默认的计费方式是按需付费的。如果你只是短期,少量地使用,那么这种计费方式产生的费用是可以接受的。但如果是长期大量地使用,那么按需付费的价格就不那么有优势了。这时你可以考虑用预留实例或者节省计划这两种提供优惠折扣的计费方式,来帮助你进行开源节流,从而以更加经济高效地方式上云。


单从 AWS 文档中对这两种计费方式的定义,很难理解它们具体代表什么含义,之前我一直没搞太清楚这个问题。这两天我又花了点时间重新研究了一下,终于基本上弄明白了这两个服务的具体的内容和区别。

预留实例

预留实例方式只能用于 Amazon EC2。相比于按需付费方式,它最高可以提供 72%的优惠折扣。注意这种方式是以每天使用 24 小时为前提进行计费折扣计算的,也就是不管你有没有实际每天使用 24 小时,它都以 24 小时作为每天的计费时间。预留实例有一年期和三年期两种购买条款,对应的折扣也不同。当然,三年期的折扣肯定更大一些。另外,还有三种不同的付费方式可以选择:


  • 无预付费 - 不需要提前付款,折扣最小

  • 部分预付费 - 提前支付部分款项,折扣比无预付费好

  • 全额预付费 - 提前支付全部款项,折扣力度最大

预留实例范围

当购买预留实例时,你需要确定预留实例的范围。范围可以是区域的(Regional)或者是可用区的(Zonal)。范围并不影响定价,区域的和可用区的预留实例价格是相同的。

预留实例等级

在预留实例方式下,你可以根据所需 EC2 实例的类型(instance type)选择以下两种购买等级:


  • 标准等级(Standard)- 你可以指定一种 Amazon EC2 实例类型享受优惠折扣,比如 c4.large 实例类型,如果你使用了其它类型的实例,将不会享受预留实例计划提供的优惠折扣。你可以根据业务需要对实例类型进行修改,但不能跟别的预留实例进行交换。标准等级可以享受最大的折扣力度。

  • 可交换等级(Convertible)- 如果你有多个 Convertible 预留实例,就可以在它们之间根据业务需要进行交换,但交换需要满足以下条件:目标预留实例的属性值(一般指实例类型)要高于或者等于原有的预留实例。Convertible 预留实例也支持对实例类型进行修改。举个例子以便于理解:假设你购买了包含 100 个 c4.medium 的 Convertible 预留实例和 50 个 c4.large 的 Covertible 预留实例。一段时间以后你发现你需要更多的 c4.large 并且不需要 c4.medium,那么你可以选择将 c4.medium 的那个预留实例转换成 c4.large 的预留实例,AWS 会帮你计算最终转换的个数。

预留实例适合的业务类型

不难看出,预留实例方式比较适合那种不允许间断或只能偶尔间断的业务,并且业务需求在一段时间内可预见相对比较稳定。预留实例具体的定价可以参考官方网站https://aws.amazon.com/cn/ec2/pricing/reserved-instances/pricing/


以 US East 俄亥俄区域购买三年期安装 Linux 系统的 a1.medium 预留实例为例,下图分别是标准等级和可转换等级的费用明细:

标准等级

可转换等级

节省计划

预留实例虽然相比于按需付费可以省钱,但是它的局限性也很明显:


  1. 计费时长固定为每天 24 小时。也就是不管你实际有没有每天都用了 24 小时,它都以每天 24 小时的使用量进行计费。这显然还是有些粗暴的,


  • 只能适用于 Amazon EC2 实例。随着 AWS 上陆续推出更多的计算服务,越来越多的用户可能不仅仅使用 EC2 作为工作负载。


基于以上两个明显的弊端,AWS 在之后推出了另一种优惠的计费方式 - 节省计划(Savings Plans)。


这种方式下,享受优惠折扣的必要条件是承诺达到一定使用量,以美元/小时为衡量标准。也就是说你要承诺一个 hourly rate,就能享受一定的折扣。如果没有达到就会以承诺的 hourly rate 来算,如果超出的部分,则按照按需付费来算。单纯地描述概念或许还是有些抽象,我们可以大致举例说明一下:假如你的业务负载每个月需要运行 100 小时,共计花费 400 美元,因此你的 hourly rate 就是 4 美元/小时。那这个 4 美元/小时就可以作为一个承诺使用量(commit usage)去购买节省计划,AWS 就能给你一个折扣,比如 6 折,也就是 2.4 美元/小时。如果下个月业务负载运行了 120 小时,共计花费了 500 美元,那么按照 4 美元/小时的 hourly rate,120 小时的花费应该是 480 美元,这 480 美元就可以享受 6 折,而超出的 20 美元则原价支付。


节省计划的另一个灵活之处在于它取消了仅适用于 EC2 的限制,通过提供三种类型的 Savings Plans,可以涵盖更多的 AWS 服务。这三种类型是:


  • Compute Savings Plans - 可用于 Amazon EC2(包括 EMR,ECS 和 EKS 里的 EC2),AWS Lambda,AWS Fargate。最高可以提供高达 66%的折扣。

  • EC2 Instance Savings Plans - 仅适用于指定的 EC2 实例类型,但最高折扣可以达到 72%。

  • Amazon SageMaker Savings Plan - 适用于 Amazon SageMaker,最多可以节省 64%的费用。


跟预留实例一样,节省计划也有一年期和三年期两种购买条款。


如果想了解更详细的信息,这里还有一篇 AWS 的博客供大家参考:

New – Savings Plans for AWS Compute Services | AWS News Blog (amazon.com)

用户头像

冯亮

关注

计算机从业人员和技术爱好者 2022.03.05 加入

我是冯亮,没事喜欢学点儿云计算

评论

发布
暂无评论
Reserved instances & Savings Plans_云计算_冯亮_InfoQ写作社区