下面的表格是介绍关于抢占式实例的特点
特点 | 说明 |
---|---|
出价模式 | 抢占式实例的市场价格会随供需变化而浮动,您需要在创建抢占式实例时指定出价模式,当指定实例规格的实时市场价格低于出价且库存充足时,就能成功创建抢占式实例。 抢占式实例创建成功后,操作与按量付费实例相同,您也可以组合使用抢占式实例和其他云产品,例如云盘、EIP地址等。 |
保护期 | 抢占式实例默认有1小时的保护期,支持在调用OpenAPI创建抢占式实例时设置为无保护期。
仅支持在调用OpenAPI创建抢占式实例时设置保护期 |
回收机制 | 超过保护期后,每5分钟检测一次实例规格的实时市场价格和库存,如果某一时刻的市场价格高于出价或实例规格库存不足,抢占式实例会被释放。 注意 实例释放后数据无法恢复,建议您提前创建快照备份数据。 您可以在售卖页查看具体实例规格的释放率,同时适用于有保护期实例和无保护期实例。释放率主要由实例规格供需关系和竞价策略决定,释放率越低表明抢占式实例被回收的可能性越小。 |
以云监控Java SDK为例,介绍如何查询抢占式实例中断事件。
使用DescribeInstances,根据返回的OperationLocks判断实例是否进入待回收状态。
public class DescribeInstancesSample {
public static void main(String[] args) throws InterruptedException {
OpenApiCaller caller = new OpenApiCaller();
JSONArray allInstances = new JSONArray();
allInstances.addAll(Arrays.asList("i-bp18hgfai8ekoqwo0***", "i-bp1ecbyds24ij63w1***"));
while (!allInstances.isEmpty()) {
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.setRegionId("cn-hangzhou");
request.setInstanceIds(allInstances.toJSONString());//指定实例ID,效率最高
DescribeInstancesResponse response = caller.doAction(request);
List instanceList = response.getInstances();
if (instanceList != null && !instanceList.isEmpty()) {
for (DescribeInstancesResponse.Instance instance : instanceList) {
System.out.println("result:instance:" + instance.getInstanceId() + ",az:" + instance.getZoneId());
if (instance.getOperationLocks() != null) {
for (DescribeInstancesResponse.Instance.LockReason lockReason : instance.getOperationLocks()) {
System.out.println("instance:" + instance.getInstanceId() + "-->lockReason:" + lockReason.getLockReason() + ",vmStatus:" + instance.getStatus());
if ("Recycling".equals(lockReason.getLockReason())) {
//do your action
System.out.println("spot instance will be recycled immediately, instance id:" + instance.getInstanceId());
allInstances.remove(instance.getInstanceId());
}
}
}
}
System.out.print("try describeInstances again later ...");
Thread.sleep(2 * 60 * 1000);
} else {
break;
}
}
}
}
instance:i-bp1ecbyds24ij63w****-->lockReason:Recycling,vmStatus:Stopped
spot instance will be recycled immediately, instance id:i-bp1ecbyds24ij63w****
网络类型 | 出价模式 | 停止模式 | 停止后再启动效果 |
---|---|---|---|
经典网络 | SpotWithPriceLimit | 保留并收费 | 在保护周期内能正常启动。过了保护周期:
|
SpotAsPriceGo | 保留并收费 | 在保护周期内能正常启动。过了保护周期:
| |
VPC | SpotWithPriceLimit | 保留并收费 | 在保护周期内能正常启动。过了保护周期:
|
停机不收费 | 在保护周期内,只要资源充足就能正常启动。过了保护周期:
| ||
SpotAsPriceGo | 保留并收费 | 在保护周期内能正常启动。过了保护周期:
| |
停机不收费 | 在保护周期内,只要资源充足就能正常启动。过了保护周期:
|