为什么我的现货请求会自动取消?

问题描述

我为 t2.micro 的单个实例请求了一个 Spot 实例。分配了一个实例并且请求处于活动状态。几天后,在实例运行了 9 天后,Spot 请求被“取消”。请求状态已取消,实例已终止。

问题:

  1. 为什么请求被取消了?我设置了一个比现货价格高得多的正常买入价。
  2. 我检查了记录,它显示事件:bitChange 导致请求移动到状态 closed 。即使投标价格发生变化,我也很确定它没有超过我的比特价格。因为太高了。
  3. 究竟发生了什么?为什么实例移动到关闭?有人可以解释一下吗?

enter image description here

解决方法

作为 Spot 的最佳做法,根本不要设置最高价格。它将默认设置为按需价格,现货价格不能高于按需价格,因此您不会因价格变化而中断。

您被中断的唯一原因是当 EC2 需要为按需客户提供此容量时,这就是 Spot 折扣价的原因。

使用Auto Scaling 组Spot Fleet来启动和维护目标容量,并自动请求实例替换任何中断的实例.