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

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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
算法
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
606 0
|
存储 缓存 应用服务中间件
Docker 镜像解密:分层存储与镜像构建原理
Docker 镜像解密:分层存储与镜像构建原理
803 0
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
3月前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
阿里巴巴发布《城市数字孪生能力平台总体技术要求》企业标准, 促进数字孪生互联互通生态建设
2023年3月21日,阿里巴巴集团举办城市数字孪生企业标准发布及研讨会,发布了《城市数字孪生能力平台总体技术要求》企业标准。
阿里巴巴发布《城市数字孪生能力平台总体技术要求》企业标准, 促进数字孪生互联互通生态建设
|
监控 关系型数据库 分布式数据库
【PolarDB开源】PolarDB故障恢复机制:快速恢复与数据一致性保障
【5月更文挑战第22天】阿里云PolarDB的故障恢复机制保证了云数据库的高可用性和一致性。通过ROW快照备份和增量日志,实现秒级备份和恢复,确保数据安全。日志分析快速定位故障,启用备用实例实现快速恢复。分布式事务和强一致性读等技术保障数据一致性。这套全面的解决方案使PolarDB在云原生数据库中表现出色。
850 10
|
11月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
2480 86
|
人工智能 云计算 数据中心
加码香港!连续市场第一,启动新计划
加码香港!连续市场第一,启动新计划
377 4
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
2359 14
MySQL事务日志-Redo Log工作原理分析
|
机器学习/深度学习 人工智能 5G
5G天线设计的关键要点解析
5G天线设计的关键要点解析
617 64

热门文章

最新文章