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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578760
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:379745)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:381068)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:380155)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492261)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492465)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492526
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492405
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578950
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578760
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:379745)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:381068)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:380155)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492261)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492465)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492526
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492405
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578950
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578760
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:379745)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:381068)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:380155)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492261)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492465)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492526
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:492405
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.52/scripts/articleDetail.js:1:578950
简介: 抢占式实例作为成本节省的利器,一直在不断推陈出新,持续优化。近期开放了无保护期新模式,即不承诺最低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>
AI 代码解读

第一步:查看市场价格 DescribeSpotPriceHistory

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

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

完整示例代码如下:

// 无保护期价格查询
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);
AI 代码解读

第二步:创建实例 RunInstances

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

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

完整示例代码如下:

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);
AI 代码解读

第三步: 查看实例保护期情况 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();
}
AI 代码解读

第四步:查看实例当前价格 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();
AI 代码解读

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:不支持. 即实例创建时指定的保护期信息,一旦确定,后续是不能变更的。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
42
分享
相关文章
|
2月前
「竞价交易」焕新上线!
「竞价交易」焕新上线!
“99套餐”开年活动,续费送时长、云端问答节等你来参与!
阿里云ECS“99套餐”2025年开年活动盛大开启!参与续费或云端问答节,有机会获得免费续费时长,还有纪念衫、加湿器好礼等你拿。同时,我们为“99套餐”用户提供【云速通宝典】,从快速部署到业务持续发展,手把手助力高效上云。快来加入吧!
1281 22
“99套餐”开年活动,续费送时长、云端问答节等你来参与!
云上应用管理问题之为什么很多业务会采用包年包月 + 按量付费的混合付费方式
云上应用管理问题之为什么很多业务会采用包年包月 + 按量付费的混合付费方式
阿里云服务器付费模式:按量付费、包年包月和抢占式实例全解析
阿里云服务器提供包年包月、按量付费与抢占式实例三种付费模式。包年包月为预付费,适合长期稳定使用,价格更优惠并支持备案。按量付费则为后付费模式,按小时结算,适合短期或访问量波动大的场景,但不支持备案。抢占式实例基于按量付费,价格更低(最多节省90%),适用于无状态应用,如临时测试或可弹性伸缩的Web服务,但存在被系统释放的风险,同样不支持备案。根据具体需求选择合适的付费模式能够有效降低成本并提高效率。
411 0
阿里云包年包月/按量付费/抢占式实例付费模式选择方法
阿里云包年包月/按量付费/抢占式实例付费模式选择方法,阿里云服务器ECS付费类型包年包月、按量付费和抢占式实例有什么区别?包年包月先付费后使用,最低购买一个月时长,平均下来价格优惠;按量付费先使用后付费,按小时结算费用,适合短期使用,平均下来费用要比包年包月贵一些;抢占式实例和按量付费相类似,只是价格上要比按量的优惠90%,但是抢占式实例可能会被系统释放,抢占式实例适合无状态的应用。阿里云百科来详细说下阿里云服务器付费模式包年包月、按量付费和抢占式实例区别以及选择方法:
251 0
按需付费,如何面对“缺斤短两”的问题
按需付费,如何面对“缺斤短两”的问题自制脑图
88 0
按需付费,如何面对“缺斤短两”的问题
包年购买K8S集群的省钱之道
是我利用5000块代金券包年购买K8S集群的过程分享,希望对大家有所帮助。
3347 1
包年购买K8S集群的省钱之道
抢占式实例最佳实践——如何选择出价模式
本文为您介绍新的组合方案&quot;SpotAsPriceGo+OOSPriceMonitor&quot;,在帮助您有效降低中断概率的同时,又能保障价格不会偏离您的预期值,帮助您合理控制成本。
抢占式实例最佳实践——如何选择出价模式
抢占式实例开放无保护期新模式
今天来为大家介绍下抢占式实例开放的新特性, 即"无保护期模式"
865 0
抢占式实例开放无保护期新模式

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等