ECS近期推出了预留实例券(Reserved Instances),简称RI,这东西很cool,今天我们聊聊这个。
首先这篇Blog不是文档,读完后想详细了解文档的朋友请点击
几个小故事
故事1:小明是公司的运维。公司使用包年包月(预付费)的方式在云上购买了10台云主机,包1年,位于北京地域下的可用区F。结果用了3个月,由于业务调整,需要把其中的5台迁去北京可用区G。然后小明只能把可用区F其中的5台退款,然后再重新在北京可用区G再购买5台,重新走了一遍财务流程,还需要退款手续费。我们从两个视角去看这个问题:
云厂商视角:退款是由于用户没有遵守双方对使用时长的约定造成的,需要收取手续费。
用户的视角:我退款是由于业务需要调整,从使用总量上来看,调整前后都是购买10台,付手续费有点冤。
造成这个郁闷故事的根本原因是:包年包月这种付费方式,把账单和某台具体实例绑定在一起了,用户购买的直接就是云上的一台机器。当用户的业务需要跨机器进行调整时,只能把当前机器退款了,再重新创建。
故事2:小明是公司的运维。公司部署DevOps,对自动化运维有强制要求。因为包年月退款需要人工介入,无法自动化进行,于是在云上只买按量付费。但是所有资源都用正常的按量付费,费用太高,而且有时线上资源紧张,大量创建按量付费由于资源供给的问题会失败,需要等待。小明希望能对长期使用的那部分按量资源有一个折扣,并且能长期提供这部分资源的线上库存预留。
故事3:小明是公司的运维。公司使用工具去创建弹性的按量付费资源(比如ESS),一段时间后,资源使用量趋于稳定,公司需要做成本优化。小明发现自己的云厂商对长期资源的折扣只有包年包月这种方式能提供,只好自己把ESS自动化创建出来的弹性资源一台台转成包年包月,效率低下。小明觉得这个运维动作没有创造任何价值还容易出错,他希望资源工具化创建后,能通过一种自动地,快速地,统一化管理的方式直接对创建出来的弹性资源提供折扣,比如购买一张使用弹性资源的会员卡,直接给部分资源提供折扣。
故事4:小明是公司的运维。公司业务量很大,实例有好几千台,基本都是包年月。小明的工作很大一部分是对这些实例做生命周期管理,包括:到期续费,到期释放,升降配……没办法,因为到期了实例没续费,会被释放,数据就丢了,但是由于实例太多,小明苦不堪言。而且公司业务切换时,还常常需要对这些实例退款然后再创建(参考故事1),这样一来原本相同的到期日又变得七零八碎。小明希望把这些工作简化。
故事5:小明是公司的财务。公司正在上云,在购买云资源时,小明希望能把一次性支出分摊成分期付款的方式,这样把capex转为opex,减轻公司现金流压力。不幸的是,包年月虽然提供一些折扣,但是需要一次性支付,直接使用按量付费到是小时出账单了但是又太贵。小明希望有一种既能提供类似包年月的折扣,又能快速支持分期付款的付费方式。
总结一下这几个故事背后的问题:
- 包年月下:账单和具体实例绑定,导致灵活性很差
- 包年月下,生命周期管理需要细化到每一台实例,很繁杂
- 包年月下,DevOps无法运行,无法和其他云上的生态工具很好融合
- 完全使用按量付费,会为运维带来方便,但是费用高,且资源供给无保障
- 财务上,包年月需要一次性付款,给现金流带来影响
现在想想什么样的付费方式能解决这些问题:
- 它需要把账单和具体实例解耦,最好交付的不是具体的实例,而是直接交付计算力,计算力可以随意分配到任意实例上。你想到了什么?对, “会员卡”是不是很合适?比如,通过买一张会员卡,赋予用户去使用一些特定计算力的权利。
- 能简化生命周期管理。这张会员卡需要能对多台实例提供一个聚合管理,最好会员卡到期,不影响实例使用,这样完全就没有业务风险了。
- 和DevOps,自动化运维,生态工具最好的付费结合方式是按量付费。所以这样会员卡最好是搭配按量付费使用。
- 直接用按量太贵。会员卡需要为按量付费实例提供折扣,并且要保证资源供给。
- 财务上,减轻资金链压力?如果这张会员卡购买的时候支持分期付款,是不是就可以~
预留实例券(Reserved Instances)是什么?
预留实例券就类似一张云上的会员卡。
会员卡上都有各自属性吧,只有属性匹配上了才能用,我们来看看这个预留实例券这个会员卡长啥样?
这是一张小编从购买页面抽象出来的图,可以看到有5个重要信息,分别是:
- 实例规格,例如图上为ecs.g5.4xlarge
- 地理位置,例如图上为华东2 可用区G
- 操作系统,例如图上为Linux
- 有效期,例如图上为1年
- 预留台数,例如图上为预留10台
顺便附上购买页面里的参数选择窗口
地理位置选择,有朋友可能会问这个有预留和无预留啥意思,别急后面会说到
实例规格和操作系统选择
有效期和预留台数选择
买了这个会员卡后怎么用?答案是:搭配按量付费(后付费)实例用。
只要这个预留实例券在有效期(图例中为1年),只要你的按量付费实例满足券面属性,你会发现,你的按量付费的计算部分(vCPU+内存)账单直接被抵扣掉了,不需要对这部分费用再花钱!
例如,你有上图例子中的预留实例券,你在华东2可用区G拥有一台ecs.g5.4xlarge,操作系统为Linux的实例,这个实例计算部分的账单是直接被完全抵扣掉的。不过,这个例子中,如果你的实例规格是ecs.c5.2xlarge,或者操作系统用的Windows,那抵扣会失败,因为没有和券的属性完全符合。
当你的实例用完不想要了,释放后再开一台,只要还符合这些属性,账单仍然能被抵扣。
明白了吧,预留实例券就是通过按量付费(后付费)的方式把灵活性保留的,同时客户通过承诺使用时间(例如3年期,1年期),云厂商可以为客户大幅降低使用按量付费的成本(最高可以降低79%)。
预留实例券(Reserved Instances)的灵活变配
再来看看一些更有意思的玩法,首先看预留实例券的拆分。
假设您的实例券可抵扣台数均为1台,规格是ecs.g5.2xlarge(8核),那可以抵扣您一台ecs.g5.2xlarge(8核)的按量付费实例。有一天,你觉得不需要单节点那么大算力,于是想能不能让券去抵扣两台ecs.g5.xlarge(4核),答案是:可以,只需要把券给拆分了就行。那么能不能变成抵扣4台ecs.g5.large(2核)?答案仍然是:可以,只需要再拆一次。
然后是预留实例券的合并。
刚刚这个过程逆向看,仍然成立。你有一堆小规格的券,通过合并,也可以合出大规格的券。具体的拆分合并规则请参见
所以,预留实例券购买的是整个算力的折扣,在实例家族确定情况下,vCPU总数不变情况下,可以灵活调整你要的具体规格大小。
预留实例券(Reserved Instances)的种类
从有效期来看,目前线上的预留实例券有两种:1年期,3年期。
从付费类型看,目前线上的预留实例券有三种:全预付(即一次性把会员卡费用付清),部分预付(先付一半费用,剩下的每小时出账单),0预付(购买时不付任何费用,后面每小时出账单)。详情请点击
从资源预留来看,目前线上的预留实例券有两种:地域级,可用区级。下面我们说说这俩啥区别。
地域级RI和可用区级RI
首先,写给不熟悉ECS的读者一个概念:地域是一个区域的概念,可能包括多个可用区,比如下图,华北2这个地域下面有7个可用区。您购买的实例地理位置上最后都会落到一个具体的可用区。
可用区级RI
如果你购买页面选择地理位置时,选了有预留,那么你需要指定地域和具体的可用区,这时你购买的是可用区级RI。
对于可用区级RI,是不支持同地域下跨可用区抵扣的,比如你的RI券是华北2可用区G,那么只能抵扣华北2可用区G的按量实例,不能抵扣华北2可用区F的实例。如果你需要抵扣的实例迁移去了另一个可用区,那么你需要通过修改券属性,把你券的地理位置属性也改到另一个可用区。
另外,可用区级RI的抵扣必须和实例规格完全匹配才能抵扣,比如RI券是ecs.g5.2xlarge,那么实例也必须是ecs.g5.2xlarge才能抵扣。如果你要支持ecs.g5家族下其他规格,可用在总vCPU不变情况下选择拆分和合并。你可能会问,不是刚刚说了本来就要完全匹配么,别急,一会儿你看看地域级RI是怎么玩的。
可用区级RI有一个最大优势,就是资源预留,当你购买了可用区级别RI时,ECS库存系统会为你预留对应的按量付费实例。比如券面是ecs.g5.2xlarge,预留10台,那么在RI券有效期内,永远有10台ecs.g5.2xlarge实例是为你留着的,保证你随时要服务,都能顺利开出。很多朋友问,过年啊,春运啊,线上资源那么紧张,大家怎么100%保证自己的计算资源随开随有?小编偷偷告诉你,预留实例券是个好方法……这也是这个产品名字里“预留”这个功能的直接体现。
地域级RI
如果你购买页面选择地理位置时,选了无预留,那么你无需指定具体的可用区,只要选择地域就好,这时你购买的是地域级RI。
地域级RI可以抵扣你在该地域任何一个可用区符合抵扣标准的按量付费实例,灵活性更好。
另外,地域级RI的抵扣条件更宽松,只要你的按量实例和券面的实例家族符合就能抵扣(当然操作系统这些还是要符合属性哦)。比如,你的券面是1年期(即8760小时)ecs.c5.large(2核),你的按量实例只要满足ecs.c5这个条件就能抵扣,假设你的按量实例是ecs.c5.xlarge(4核),没关系,可以抵扣它跑半年。更多例子见下表。
刚刚说的是小券抵大实例,反过来,大券抵小实例也是OK的。假设你的券是1年期的ecs.c5.4xlarge(16核),可以抵扣1台16核c5跑一年,或者抵扣2台8核c5跑一年,或者抵扣4台4核c5跑一年,或者抵扣8台2核c5跑一年。
刚刚说的地域级RI跨核数抵扣,都是自动匹配的,无需手动拆分合并。
显然,地域级RI灵活性更好,不过地域级RI是不保证资源预留的,库存极度紧张时,开按量实例有可能需要等待。
说了这么多,给大家看看预留实例券控制台里可用区级RI和地域级RI长啥样。
上面的框是可用区级RI,可以看到可用区和实例规格是很明确的。下面的框是地域级RI,只有地域信息,后面写的是跨可用区,实例规格也只写了实例家族信息(例子是ecs.c5)和总vCPU核数。
顺便说一下,地域级RI和可用区级RI是可以互相转换的,不怕买错,同时可用区级RI的具体可用区属性也可以修改。
关于这两种RI,详情文档在这里,请点击
谈谈钱
现在谈谈钱吧,看看RI的购买成本。
我们对比一下华北2(北京)地域,ecs.c5.large实例的计算部分在三种计费规则下跑一个月的价格:预付费包月、预留实例券(1年期全预付)、按量付费
预付费包月 | 预留实例券(1年期全预付) | 按量付费 |
---|---|---|
179元 | 152.15元 | 446元 |
注:价格截取自2019年4月17日的阿里云官网
另外请注意,RI是用来抵扣按量实例账单的计算部分,存储网络部分并不覆盖。另外,RI的1年期、3年期对比,3年期折扣更低;全预付、部分预付、0预付对比,全预付折扣最低。
如何购买?
当前预留实例券已经全网商业化开放。请直接点击进入产品说明页购买。
视角