ECS近期推出了预留实例券(Reserved Instances),简称RI,这东西很cool,今天我们聊聊这个。
首先这篇Blog不是文档,读完后想详细了解文档的朋友请点击
一个小故事
我来给大家讲一个故事理解云上的几种付费方式:包年包月(预付费),按量付费(后付费),和预留实例券。
小明爱好游泳。一开始小明工作忙,去游泳的次数不固定,每次去都是锻炼完付款给老板(后付费),好处是非常自由,想来就来,想偷懒就偷懒(按量付费在云上随时创建随时释放,按秒计费),但是每次的价格贵(请大家参见ECS价格表,按量付费价格是最贵的)。
后来,小明渐渐发现自己游泳非常规律,每天都去,想降低开销。于是他和老板谈了一个合同,合同如下:小明先交钱(预付费),然后每次来都可以使用窗边那条泳道,可以使用一年(包年),这样可以得到比较大的折扣。有朋友会想,这合同好奇怪啊……大家淡定我只是想类比一下云上的情况,大家想一想,云上的预付费(包年月)是不是直接绑定优惠到一台具体的机器(实例)的?
好,有一天小明因为种种原因不想用窗边的泳道了,想换个大门边的泳道锻炼,咋办?因为违反合同了,小明应该把当前合同解除,再签订一个大门边泳道的合同。大家想想,在云上,如果包年月的使用者因为一些原因想释放掉当前实例,再创建(这个过程常常发生,比如公司不同阶段机器用途不一样,或者业务配比不一样),是不是要走退款流程,再下单购买,再创建……财务流程反复,还需要一些人工运维参与。
最近,小明发现泳池推出了一种会员卡(云上类比预留实例券),一次性购买会员卡后,可以随便来免费游泳,哪个泳道都可以游,甚至还能去两条街以外的连锁泳池使用,而且每次来游泳,都能保证小明有泳道可以用(资源预留)。会员卡花费和签合同差不多,但是灵活性大大加强。
预留实例券(Reserved Instances)是什么?
预留实例券就类似一张云上的会员卡,或者说抵扣券。
会员卡上都有各自属性吧,只有属性匹配上了才能用,我们来看看这个预留实例券这个会员卡长啥样?
这是一张小编从购买页面抽象出来的图,可以看到有5个重要信息,分别是:
- 实例规格,例如图上为ecs.g5.2xlarge
- 地理位置,例如图上为华北2 可用区G
- 操作系统,例如图上为Linux
- 有效期,例如图上为3年
- 预留台数,例如图上为预留2台
顺便附上购买页面里的参数选择窗口
地理位置选择,有朋友可能会问这个有预留和无预留啥意思,别急后面会说到
实例规格和操作系统选择,目前预留实例券暂时只支持Linux
有效期和预留台数选择
买了这个会员卡后怎么用?答案是:搭配按量付费(后付费)实例用。
只要这个预留实例券在有效期(图例中为3年),只要你的按量付费实例满足券面属性,你会发现,你的按量付费的计算部分(vCPU+内存)账单直接被抵扣掉了,不需要对这部分费用再花钱!
例如,你有上图例子中的预留实例券,你在华北2可用区G拥有一台ecs.g5.2xlarge,操作系统为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预付对比,全预付折扣最低。
如何购买?
当前预留实例券正在大规模邀测,你可以通过ECS控制台看到预留实例券的入口,如图,进去就能看到邀测页面了。当然也可以直接点击提交邀测申请。
原文链接
本文为云栖社区原创内容,未经允许不得转载。