管理 Spot 实例中断
正常处理 Spot 实例中断并最大限度减少对性能或可用性影响的最佳方式是将应用程序设计为具有容错能力。为此,您可以利用 EC2 实例再平衡建议和 Spot 实例中断通知。
EC2 实例再平衡建议是一个信号,会在某个 Spot 实例的中断风险升高时通知您。该信号使您有机会在提前两分钟收到 Spot 实例中断通知时主动管理 Spot 实例。您可以决定将工作负载重新平衡到不处于较高中断风险的新的或现有的 Spot 实例。通过在 EC2 Auto Scaling 组中提供容量再平衡功能,您可以轻松地使用该信号。有关更多信息,请参阅 Amazon EC2 Auto Scaling 容量再平衡。
Spot 实例中断通知是在 Amazon EC2 中断 Spot 实例前两分钟发出的警告。如果您的工作负载具有“时间灵活性”,那么您可以将 Spot 实例配置为在中断时停止或休眠,而不是终止。Amazon EC2 会在中断时自动停止或休眠您的 Spot 实例,并在我们有可用容量时自动恢复这些实例。
您可以使用 EC2 实例再平衡建议和/或 Spot 实例中断通知,考虑将工作负载设计为具有容错能力,这样您就可以捕获通知并将任务的状态保存到存储(例如,Amazon S3、Amazon EFS 或 Amazon FSx)中,保存来自实例的日志文件(或者连续流式传输它们以采取更具容错性的方法),耗尽来自负载均衡器的连接等。
某些 AWS 和第三方服务已经为您处理 Spot 中断,以减少对应用程序的影响。例如,运行具有 Spot 实例的托管节点组的 Amazon EKS 会在发出针对现有节点的再平衡建议或中断通知时自动启动替换 Kubernetes 节点。