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

简介: 抢占式实例作为成本节省的利器,一直在不断推陈出新,持续优化。近期开放了无保护期新模式,即不承诺最低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:不支持. 即实例创建时指定的保护期信息,一旦确定,后续是不能变更的。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之按量付费高峰期抢占资源是什么意思
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
存储 弹性计算 Linux
【ECS常见问题】中国内地用户购买其他国家或地区实例资源问题
中国内地用户购买其它国家或地区资源可以享受与阿里云中国内地资源相同的品质和服务吗? 是的,阿里云中国站为所有用户提供相同品质产品与服务,购买地域不同不会影响您在阿里云中国站所享受的服务权益。
【ECS常见问题】中国内地用户购买其他国家或地区实例资源问题
|
弹性计算 监控 BI
抢占式实例最佳实践——如何选择出价模式
本文为您介绍新的组合方案&quot;SpotAsPriceGo+OOSPriceMonitor&quot;,在帮助您有效降低中断概率的同时,又能保障价格不会偏离您的预期值,帮助您合理控制成本。
抢占式实例最佳实践——如何选择出价模式
|
开发工具
抢占式实例开放无保护期新模式
今天来为大家介绍下抢占式实例开放的新特性, 即"无保护期模式"
834 0
抢占式实例开放无保护期新模式
|
弹性计算 资源调度 Cloud Native
比包月更灵活、比按量更划算,阿里云推出全新售卖模式
简单来说,节省计划是一种“比按量付费更划算,比包年包月更灵活”的全新付费模式。
比包月更灵活、比按量更划算,阿里云推出全新售卖模式
|
弹性计算
阿里云开启共享带宽新时代【一】:所有ECS都可以用共享带宽节省成本
让经典网络ECS,VPC 固定公网IP的ECS,弹性公网IP的ECS都可以使用共享带宽,进而来节约网络成本,并让公网带宽具备更大的弹性能力。
10214 1
|
Web App开发
新版我的特权上线啦!资源限额、按量高规格一览无余
功能说明 新版的我的特权的新特性 特权功能将同时显示用户已获取以及未获取的全部特权功能 新增支持查看各个地域的各类型的资源限额使用情况 新增查看当前地狱经典网络开通情况 操作步骤 进入【ECS控制台】概览页,点击右侧我的特权按钮 进入 【我的特权】页面 切换地域可查看不同地域的资源限额以及可购买.
3362 0
|
存储 弹性计算 固态存储
阿里云发布企业级ECS产品线,释放技术升级红利,最高降价35%
8月9日,阿里云ECS企业级产品线正式对外发布,标志着阿里云ECS产品正式以最新的产品功能、性能、最高的性价比来服务器企业客户的决心。 计算、存储、网络三驾马车的优化叠加,阿里云ECS的基础设施升级到业界最佳水平。
2589 0
|
双11 数据中心
阿里云什么值得买?强力推荐<闲时共享流量包>
共享流量包是一款预付费的流量资源包产品,订购后自动抵扣多个地域下的按流量计费的ECS云服务器、负载均衡SLB、弹性公网IP、NAT网关所产生的流量,这个产品包含全时共享流量包和闲时共享流量包两类产品。闲时共享流量包能让一些用户节省大量公网流量成本。
6983 0