Spot Instances
竞价型实例是一种使用备用 EC2 容量的实例,以低于按需价格提供。由于竞价型实例允许您以极低的折扣请求未使用的 EC2 实例,这可能会显著降低您的 Amazon EC2 成本。竞价型实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 价格是由 Amazon EC2 设置的,并根据竞价型实例的长期供求趋势逐步调整。只要容量可用,并且请求的每小时最高价超过 Spot 价格,竞价型实例就会运行。
如果能灵活控制应用程序的运行时间并且应用程序可以中断,竞价型实例就是经济实惠之选。例如,竞价型实例非常适合数据分析、批处理作业、后台处理和可选的任务。有关更多信息,请参阅 Amazon EC2 竞价型实例
主题
概念
在开始使用竞价型实例之前,应该熟悉以下概念:
-
Spot 容量池 – 一组具有相同实例类型(如
m5.large
)和可用区的未使用 EC2 实例。 -
Spot 价格 –竞价型实例的当前每小时价格。
-
竞价型实例请求 – 请求竞价型实例。该请求提供您愿意为竞价型实例支付的每小时最高价。如果未指定最高价,则默认最高价为按需价格。如果具有可用的容量,并且您的请求的每小时最高价超过 Spot 价格,Amazon EC2 将完成您的请求。竞价型实例请求是一次性或者持续性请求。在与请求关联的竞价型实例终止之后,Amazon EC2 会自动重新提交持续性竞价型实例请求。
-
EC2 实例再平衡建议 – Amazon EC2 发出实例再平衡建议信号,以通知您 Spot实例处于中断高风险。此信号使您有机会在现有或新的 Spot实例间主动再平衡工作负载,而无需等待两分钟的 Spot实例中断通知。
-
Spot 实例中断 – 如果 Amazon EC2 需要收回容量,或者 Spot 价格超过您的请求的最高价,Amazon EC2 将终止、停止或休眠您的 Spot 实例。Amazon EC2 将提供竞价型实例中断通知,这会在实例中断之前为其提供两分钟的警告。
竞价型实例与按需型实例的主要区别
下表列出了竞价型实例与按需型实例之间的主要区别。
竞价型实例 | On-Demand Instances | |
---|---|---|
启动时间 |
只有竞价型实例请求处于活动状态并且有可用容量时才能立即启动。 |
只有发出手动启动请求并且有可用容量时才能立即启动。 |
可用容量 |
如果没有可用容量,则竞价型实例请求会继续自动发起启动请求,直到有可用容量为止。 |
如果在发出启动请求时没有可用容量,您会收到容量不足错误 (ICE)。 |
每小时价格 |
竞价型实例的每小时价格根据需求而有所不同。 |
按需型实例的每小时价格是静态的。 |
再平衡建议 | 当实例处于较高的中断风险时,Amazon EC2 为正在运行的竞价型实例发出信号。 | 您可以决定何时中断个按需型实例(停止、休眠或终止)。 |
实例中断 |
您可以停止和启动由 Amazon EBS 支持的竞价型实例。此外,如果容量不再可用、Spot 价格超出您的最高价或者对竞价型实例的需求增加,Amazon EC2 Spot 服务可能中断个别竞价型实例。 |
您可以决定何时中断个按需型实例(停止、休眠或终止)。 |
有关使用竞价型实例的策略
一种为应用程序维护最低级别的保障计算资源的策略是,启动一组核心 按需型实例,再适机通过竞价型实例来进行补充。

如何开始
您需要做的第一件事是为使用 Amazon EC2 进行设置。在启动竞价型实例之前,若拥有启动按需型实例的经验也会有所帮助。
Spot 基础知识
相关服务
您可以直接使用 Amazon EC2 预置竞价型实例。也可以使用Amazon中的其他服务预置竞价型实例。有关更多信息,请参阅以下文档。
- Amazon EC2 Auto Scaling 和竞价型实例
-
您可以用自己愿意支付的最高价创建启动模板或配置,以便 Amazon EC2 Auto Scaling 可以启动竞价型实例。有关更多信息,请参阅为具有容错要求且灵活的应用程序请求竞价型实例和 Amazon EC2 Auto Scaling 用户指南 中的包含多种实例类型和购买选项的 Auto Scaling 组。
- Amazon EMR 和竞价型实例
-
有时候,在 Amazon EMR 集群中运行竞价型实例会非常有帮助。有关更多信息,请参阅 Amazon EMR 管理指南中的竞价型实例https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-instance-purchasing-options.html#emr-spot-instances和什么时候应该使用竞价型实例。
- Amazon CloudFormation 模板
-
Amazon CloudFormation 使您能够使用 JSON 格式的模板来创建和管理 Amazon 资源集合。Amazon CloudFormation 模板可能包含您愿意支付的最高价。有关更多信息,请参阅 EC2竞价型实例更新 – Auto Scaling 和 CloudFormation 集成
。 - Amazon SDK for Java
-
可以使用 Java 编程语言来管理竞价型实例。有关更多信息,请参阅教程:Amazon EC2 竞价型实例和教程:高级 Amazon EC2 Spot 请求管理。
- Amazon SDK for .NET
-
可以使用 .NET 编程环境来管理竞价型实例。有关更多信息,请参阅教程:Amazon EC2 竞价型实例。
定价和节省
您可以为竞价型实例支付 Spot 价格,该价格由 Amazon EC2 设置,并根据竞价型实例的长期供求趋势逐步进行调整。如果具有可用的容量,并且您的请求的最高价超过当前 Spot 价格,Amazon EC2 将完成您的请求。您的竞价型实例将一直运行,直到您终止这些实例、不再具有可用的容量、Spot 价格超过您的最高价或您的 Amazon EC2 Auto Scaling 组在缩减期间终止这些实例。
如果您或 Amazon EC2 中断正在运行的竞价型实例,您将按使用的秒数或整个小时付费,或者您不收取任何费用,具体取决于所使用的操作系统以及竞价型实例的中断方。有关更多信息,请参阅中断的竞价型实例的计费。
查看价格
要查看各个Amazon区域和实例类型的当前(每 5 分钟更新一次)最低 Spot 价格,请参阅 Amazon EC2 竞价型实例定价
要查看过去三个月的 Spot 价格历史记录,请使用 Amazon EC2 控制台或 describe-spot-price-history 命令 (Amazon CLI)。有关更多信息,请参阅竞价型实例定价历史记录。
我们将可用区独立地映射到每个 Amazon 账户的代码。因此,不同账户的相同可用区代码 (如 us-west-2a
) 可能会返回不同的结果。
查看节省
您可以查看使用单个竞价型实例集或所有竞价型实例的竞价型实例所节省的成本。您可以查看过去一小时或过去三天的节省,还可以查看每 vCPU 小时和每内存 (GiB) 小时的平均费用。节省是估算的,因为未算入您使用期间的计费调整,所以可能与实际的节省有所差异。有关查看节省信息的更多信息,请参阅通过购买竞价型实例实现节省。
查看账单
您的账单提供了服务使用量的详细信息。有关更多信息,请参阅 Amazon Billing 用户指南中的查看您的账单。