ECI支持抢占式实例,对于短时间运行的Job任务,以及部分扩展性和容错率高的无状态应用,使用抢占式实例可以有效地节约实例使用成本。本文介绍如何创建抢占式ECI实例。
背景信息
抢占式实例是一种低成本竞价型实例,您可以对阿里云当前闲置的资源出价,获得资源后运行容器,直到出价低于市场价格或者库存不足等原因导致资源回收。
抢占式实例适用于短时间运行的Job任务,以及部分扩展性和容错率高的无状态应用,例如可弹性伸缩的Web站点服务、图像渲染、大数据分析和大规模并行计算等。应用程序的分布度、可扩展性和容错能力越高,越适合使用抢占式实例节省成本和提升吞吐量。更多信息,请参见什么是抢占式实例。
基本概念
创建抢占式实例前,您需要了解以下信息:
计费方式
抢占式实例的市场价格随供需变化而浮动,您需要在创建抢占式实例时指定出价模式,当指定实例规格的实时市场价格低于出价且库存充足时,就能成功创建抢占式实例。创建成功后,在保护期(默认1小时)内按照成交时的市场价格计费。超过保护期后,按照实时的市场价格计费。
说明抢占式实例相对于按量付费实例价格有一定的折扣,实际价格随供求波动,并按实际使用时长进行收费。更多信息,请参见抢占式实例计费。
回收机制
超过保护期后,系统每隔5分钟将自动检测一次实例规格的市场价格和库存。如果某一时刻的市场价格高于出价或实例规格库存不足,抢占式实例会被释放。
说明资源回收前约5分钟,系统会产生准备释放的事件。
资源回收后,实例不再收费,但会保留实例信息,且状态会变更为已过期(Expired)。
注意事项
基于抢占式实例的特点,使用抢占式实例时,请注意以下信息:
选择一个合适的实例规格和一个合理的出价。
您可以通过ECS的OpenAPI接口查询抢占式实例近30天的信息,以便选择实例规格和出价。相关接口如下:
DescribeSpotPriceHistory:查询实例历史价格。
DescribeSpotAdvice:查询实例平均释放率、平均折扣率等信息。
重要您的出价应该足够高,同时充分考虑了市场价格的波动,并且符合您对自身业务评估后的预期。这样才能成功创建抢占式实例,且实例不会因为价格因素被释放,在满足业务需求的同时实现成本节约。
使用不受抢占式实例释放影响的存储介质来保存您的重要数据,例如:云盘(关闭随实例释放)、NAS等。
创建方式
支持指定ECS规格,或者指定vCPU和内存来创建抢占式ECI实例:
指定ECS规格
计费以指定规格的按量市场价格和实时折扣为准。
指定vCPU和内存
该方式与指定ECS规格方式的效果相同。系统会自动匹配满足规格和价格要求的ECS规格,并以此规格的市场价格作为计费的原始市场价格,即折扣是基于该ECS规格的市场价,而非对应ECI的vCPU和内存的按量价格。
该方式仅支持2 vCPU及以上规格,支持指定的vCPU和内存规格如下表所示。如果指定的规格不支持,系统会自动向上规整。
vCPU
内存(GiB)
2
2、4、8、16
4
4、8、16、32
8
8、16、32、64
12
12、24、48、96
16
16、32、64 、128
24
24、48、96、192
32
32、64、128、256
52
96、192、384
64
128、256、512
配置说明
OpenAPI
调用CreateContainerGroup接口创建ECI实例时,您可以通过SpotStrategy参数来设置抢占式实例的出价模式,SpotPriceLimit参数来设置抢占式实例的每小时价格上限,以及SpotDuration参数来设置抢占式实例的保护期。相关参数说明如下表所示。更多信息,请参见CreateContainerGroup。
名称 | 类型 | 示例值 | 描述 |
SpotStrategy | string | SpotWithPriceLimit | 实例的抢占策略。取值范围:
|
SpotPriceLimit | number | 0.2 | 设置抢占式实例的每小时最高价格,最多精确到小数点后3位。当SpotStrategy取值为SpotWithPriceLimit时,必须设置SpotPriceLimit。 |
SpotDuration | long | 1 | 抢占式实例的保护期。单位为小时。默认为1。可设置为0,表示无保护期。 |
控制台
通过弹性容器实例控制台创建抢占式ECI实例时,可以直接选择付费模式为抢占式实例。
该方式不支持以下功能:
不支持设置出价策略,默认采用SpotAsPriceGo,即系统自动出价,跟随当前市场实际价格。
不支持设置无保护期,默认保护期为1小时。