使用 Spot 实例 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Spot 实例

Spot 实例是一种未使用的 Amazon EC2 实例,以低于按需价格提供。由于 Spot Instances 允许您以极低的折扣请求未使用的 EC2 实例,这可能会显著降低您的 Amazon EC2 成本。竞价型实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 价格是由 Amazon EC2 设置的,并根据 Spot Instances 的长期供求趋势逐步调整。有关更多信息,请参阅 Amazon EC2 Windows 实例用户指南中的 Spot Instances

您可以将 Spot 实例注册到您的 Amazon ECS 集群。有关更多信息,请参阅启动 Amazon ECS Linux 容器实例

Spot 实例耗尽

当 Spot 价格超过您请求的最高价格或容量不再可用时,Amazon EC2会终止、停止或休眠您的 Spot 实例。Amazon EC2 将提供竞价型实例中断通知,这会在实例中断之前为其提供两分钟的警告。如果在实例上启用了 Amazon ECS Spot 实例耗尽,则 ECS 会收到 Spot 实例中断通知,并将实例置于 DRAINING 状态。

重要

Amazon ECS 监控具有 terminatestop 实例操作的 Spot 实例中断通知。如果您在请求 Spot 实例或 Spot 队列时指定了 hibernate 实例中断行为,则这些实例不支持 Amazon ECS Spot 实例耗尽。

当某个容器实例设置为 DRAINING 时,Amazon ECS 将阻止安排放置在该容器实例上的新任务。连接即将耗尽的容器实例上处于 PENDING 状态的服务任务将立即停止。如果集群中有可用的容器实例,则在这些容器实例上启动替换服务任务。

在启动容器代理之前,您必须设置 ECS_ENABLE_SPOT_INSTANCE_DRAINING 参数。使用以下命令手动启用竞价型实例耗尽。将 my-cluster 替换为您集群的名称。

[Environment]::SetEnvironmentVariable("ECS_ENABLE_SPOT_INSTANCE_DRAINING", "true", "Machine") # Initialize the agent Initialize-ECSAgent -Cluster my-cluster

有关更多信息,请参阅启动 Amazon ECS Windows 容器实例