抢占式实例开放无保护期新模式

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 抢占式实例作为成本节省的利器,一直在不断推陈出新,持续优化。近期开放了无保护期新模式,即不承诺最低1小时的保护期,但整体价格下调10%,让您享受到更大的优惠。

今天来为大家介绍下抢占式实例开放的新特性, 即"无保护期模式"。主要与当前抢占式实例的区别是: 不承诺最低1小时的保护期,但最大的优势是,在释放概率无明显差异情况下,整体价格比当前1小时保护期的实例还要再低10%,举个例子:

以可用区:北京H、规格:ecs.g5.8xlarge 为例,当前按量原价是: 14.17元/时;当前1小时保护期抢占式实例价格为1折, 即1.417元/时, 而无保护期实例在该基础上再下调10%,即为1.417*0.9=1.276元/时,无保护期相比1小时保护期,节省0.141元/时。

image.png

接入步骤

前提条件

由于当前无保护期特性只在OpenAPI开放,我们默认您已经接入了过Aliyun的OpenAPI。如果之前没有对接,可以参见:SDK概述 进行SDK的接入。推荐SDK版本>=4.19.12 如下:

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-ecs</artifactId>
    <version>4.19.12</version>
</dependency>

第一步:查看市场价格 DescribeSpotPriceHistory

使用OpenAPI DescribeSpotPriceHistory 来查询历史市场价格。相比原始查看抢占式实例历史价格的接口,只需多一行代码,即可查看无保护期价格:

// request.setSpotDuration(0); // 如果SDK版本>=4.19.12,可以用该方法
request.putQueryParameter("SpotDuration", 0);// 如果SDK版本<4.19.12, 可以用该方法

完整示例代码如下:

// 无保护期价格查询
request = new DescribeSpotPriceHistoryRequest();
request.setRegionId(beijingRegionId);
request.setInstanceType("ecs.g5.8xlarge");
request.setIoOptimized("optimized");
request.setZoneId("cn-beijing-h");
request.setStartTime("2020-09-22T00:00:00Z");
// request.setSpotDuration(0);  // 如果SDK版本>=4.19.12, 可以用该方法
request.putQueryParameter("SpotDuration", 0);  // 如果SDK版本<4.19.12, 可以用该方法
request.setNetworkType("vpc");
request.setAcceptFormat(FormatType.JSON);
client.getAcsResponse(request);

第二步:创建实例 RunInstances

使用OpenAPI RunInstances 来创建实例。相比创建普通的抢占式实例,无保护期实例只需多如下一行代码即可:

// request.setSpotDuration(0);  // 如果SDK版本>=4.19.12, 可以用该方法
request.putQueryParameter("SpotDuration", 0); // 如果SDK版本<4.19.12, 可以用该方法

完整示例代码如下:

RunInstancesRequest request = new RunInstancesRequest();
request.setVSwitchId(profile.get("vswId"));
request.setInstanceName(profile.get("vmName"));
request.setImageId(profile.get("imageId"));
request.setSecurityGroupId(profile.get("securityGroupId"));
request.setSystemDiskCategory(profile.get("systemDiskCategory"));
request.setSystemDiskSize(profile.get("systemDiskSize"));
request.setInstanceType(profile.get("vmType"));
request.setAcceptFormat(FormatType.JSON);
request.setInstanceChargeType("PostPaid");
request.setSpotStrategy("SpotAsPriceGo");
// request.setSpotDuration(0); // 如果SDK版本>=4.19.12, 可以用该方法
request.putQueryParameter("SpotDuration", 0);  // 如果SDK版本<4.19.12, 可以用该方法
client.getAcsResponse(request);

第三步: 查看实例保护期情况 DescribeInstances

使用OpenAPI DescribeInstances 来查看实例详情,根据返回结果里的"spotDuration==0"来判断是否为无保护期模式。

SDK版本需要>=4.19.12才能查到该"spotDuration"属性。

String regionId = hangzhouRegionId;
List<String> instanceIds = Lists.newArrayList(instanceId);
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.setRegionId(regionId);
request.setInstanceIds(JSON.toJSONString(instanceIds));
request.setAcceptFormat(FormatType.JSON);
DescribeInstancesResponse response = client.getAcsResponse(request);
if(null != response.getInstances() && response.getInstances().size() > 0 ) {
Integer spotDuration = response.getInstances().get(0).getSpotDuration();
}

第四步:查看实例当前价格 DescribeSpotPriceHistory

根据 第一步:查看市场价格,获取到的价格列表,默认是按时间升序排列,取最后一个价格即为当前最新价格,也就是当前实例的计费价格。

// 无保护期价格查询
request = new DescribeSpotPriceHistoryRequest();
request.setRegionId(beijingRegionId);
request.setInstanceType("ecs.g5.8xlarge");
request.setIoOptimized("optimized");
request.setZoneId("cn-beijing-h");
request.setStartTime("2020-09-22T00:00:00Z");
// request.setSpotDuration(0);   // 如果SDK版本>=4.19.12, 可以用该方法
request.putQueryParameter("SpotDuration", 0);  // 如果SDK版本<4.19.12, 可以用该方法
request.setNetworkType("vpc");
request.setAcceptFormat(FormatType.JSON);
DescribeSpotPriceHistoryResponse response = client.getAcsResponse(request);
List<SpotPriceType> spotPrices = response.getSpotPrices();
if(spotPrices == null || spotPrices.isEmpty()) {
  return;
}
SpotPriceType spotPriceType = spotPrices.get(spotPrices.size() - 1);
Float spotPrice = spotPriceType.getSpotPrice();

Coming soon

相信通过上述步骤,各位已经可以玩转无保护期特性。如果觉得代码片段无法直接运行,比较繁琐,请看示例代码:创建与管理无保护期抢占式实例,直接可以在线运行。另外,无保护期特性也会在近期在售卖页开放,敬请期待!

常见Q&A:

Q:价格上,无保护期是否始终会比1小时保护期优惠,优惠幅度怎样?
A:我们会视需求与供给情况,适当扩大或者缩小优惠比例,当前整体保持在10%,为了保障您的利益,无保护期是会比对应的1小时保护期优惠。

Q:释放率上,无保护期是否会比有保护期的高?
A:不会。从释放概率上来说,无保护期与1小时保护期无太大差异。关于您担心的释放率情况,可以在售卖页看到我们整体的释放情况,基本都是维持在3%以下的,所以您可以安心使用。

Q,实例中断优先级上,无保护期是否会与有保护期的有所差异?
A:不会。

Q:开放了无保护期之后,以后售卖页新建的抢占式实例是否都会变成无保护期的?
A:不会。为了保障用户的体验的一致性,除非您显式指定需要创建无保护期,否则仍然跟以往保持一致,即1小时保护期。

Q:无保护期实例是否仍然保留提前5分钟的中断通知?
A:仍然保留。为了给您足够的中断处理时间,5分钟通知仍然会保留。

Q:资源量上,无保护期是否会比1小时保护期资源要少或者要多?
A:两者不会有明显差异。

Q:1小时保护期与无保护期模式支持互相切换么?
A:不支持. 即实例创建时指定的保护期信息,一旦确定,后续是不能变更的。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
弹性计算
30亿小时学生专属云资源算力资源免费领
选择阿里云产业赛道命题,免费领取一台专属的ECS云服务器
30亿小时学生专属云资源算力资源免费领
|
开发工具
抢占式实例开放无保护期新模式
今天来为大家介绍下抢占式实例开放的新特性, 即"无保护期模式"
795 0
抢占式实例开放无保护期新模式
|
弹性计算 资源调度 Cloud Native
比包月更灵活、比按量更划算,阿里云推出全新售卖模式
简单来说,节省计划是一种“比按量付费更划算,比包年包月更灵活”的全新付费模式。
比包月更灵活、比按量更划算,阿里云推出全新售卖模式
|
弹性计算 监控 BI
抢占式实例最佳实践——如何选择出价模式
本文为您介绍新的组合方案&quot;SpotAsPriceGo+OOSPriceMonitor&quot;,在帮助您有效降低中断概率的同时,又能保障价格不会偏离您的预期值,帮助您合理控制成本。
抢占式实例最佳实践——如何选择出价模式
|
存储 弹性计算 运维
阿里云智能基础产品技术月刊 2019年11月 ——永不停机的计算服务
2019全球天猫购物狂欢节创下了2864亿的商业奇迹,作为云基础设施的稳定和性能引擎,阿里云自研的分布式存储系统盘古 2.0 提供稳如磐石的可靠性服务。随着块存储 ESSD 云盘大规模应用,盘古2.0顺利支撑了数据库、中间件、MetaQ、Sigma 在线服务、蚂蚁金服、菜鸟网络等交易链路,赋能阿里经济体双十一核心系统 100% 上云。
4829 0
|
存储 弹性计算 安全
阿里云智能基础产品技术月刊 2019年10月——永不停机的计算服务
发布容器镜像缓存特性,不需要每次启动pod执行镜像拉取动作。SLB支持后端添加ECI。支持云盘 volume。深圳地域eci支持T6规格。支持容器LifeCycle,postStart和preStop特性。支持Kuberbetes downward API。
4158 0
|
双11 数据中心
阿里云什么值得买?强力推荐<闲时共享流量包>
共享流量包是一款预付费的流量资源包产品,订购后自动抵扣多个地域下的按流量计费的ECS云服务器、负载均衡SLB、弹性公网IP、NAT网关所产生的流量,这个产品包含全时共享流量包和闲时共享流量包两类产品。闲时共享流量包能让一些用户节省大量公网流量成本。
6855 0
|
人工智能 物联网 大数据
全国第一家FPGA云主机(FAAS)正式启动售卖,被阿里云抢先了。
阿里云FPGA云主机(FAAS)正式启动售卖 应用领域:人工智能应用、大数据处理、图形图像、基因计算、工业物联网等。 阿里云FPGA云主机正式面向市场售卖,欢迎关注:https://www.aliyun.com/product/ecs/fpga,购买体验。
4511 0
应急小先锋,突发性能实例T5来了
不久前,阿里云突发性能实例(Credit instances,T5实例)正式上线,这是阿里云ECS实例规格族的新成员,是一款面向入门级用户的全新实例规格。 一般来说,每个突发性能实例都有一个基准 CPU 计算性能,并会根据实例规格以指定速度持续获取 CPU 积分。
5722 0