问题描述
我为 t2.micro 的单个实例请求了一个 Spot 实例。分配了一个实例并且请求处于活动状态。几天后,在实例运行了 9 天后,Spot 请求被“取消”。请求状态已取消,实例已终止。
问题:
- 为什么请求被取消了?我设置了一个比现货价格高得多的正常买入价。
- 我检查了记录,它显示事件:bitChange 导致请求移动到状态 closed 。即使投标价格发生变化,我也很确定它没有超过我的比特价格。因为太高了。
- 究竟发生了什么?为什么实例移动到关闭?有人可以解释一下吗?
解决方法
作为 Spot 的最佳做法,根本不要设置最高价格。它将默认设置为按需价格,现货价格不能高于按需价格,因此您不会因价格变化而中断。
您被中断的唯一原因是当 EC2 需要为按需客户提供此容量时,这就是 Spot 折扣价的原因。
使用Auto Scaling 组和Spot Fleet来启动和维护目标容量,并自动请求实例替换任何中断的实例.