我们希望使用Spot Fleet来管理执行批处理作业的EC2实例扩展。方法中的积极规模最终会删除正在执行作业的计算机,从而触发重新启动作业的作业恢复过程。最终结果是工作时间超过了预期的时间。 我们还希望在政策上采取积极的规模来降低总体成本。
可能的解决方案是控制实例的终止方式(除了价格方面)。即使Spot Fleet没有像ASG那样正式提供“防护等级”,有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
您可以通过编程方式请求通过减员来减小组的大小 - 减小组大小,然后当实例自行终止时,它们不会被替换 - 通过设置多余的容量终止策略不终止然后是超额容量的实例。
您可以请求竞价型队列保持其当前大小,但不能替换任何被中断或手动终止的竞价型实例。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#modify-spot-fleet
实例可以通过告诉操作系统关闭计算机(例如sudo halt
)来内部终止而无需调用API。竞价型实例无法处于Stopped
状态,因此与按需实例的默认行为(实例仅停止)不同,竞价型实例会终止此操作。