Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Spot 实例

Spot 实例是一种未使用的 EC2 实例,以低于按需价格提供。由于 Spot 实例允许您以极低的折扣请求未使用的 EC2 实例,这可能会显著降低您的 Amazon EC2 成本。Spot 实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 实例的价格是由 Amazon EC2 设置的,并根据 Spot 实例的长期供求趋势逐步调整价格。只要容量可用,并且请求的每小时最高价超过 Spot 价格,Spot 实例就会运行。

如果能灵活控制应用程序的运行时间并且应用程序可以中断,Spot 实例就是经济实惠之选。例如,Spot 实例非常适合数据分析、批处理作业、后台处理和可选的任务。有关更多信息,请参阅 Amazon EC2 Spot 实例

下表列出了 Spot 实例与按需实例之间的主要区别。

Spot 实例 按需实例

启动时间

只有 Spot 请求处于活动状态并且有可用容量时才能立即启动。

只有发出手动启动请求并且有可用容量时才能立即启动。

可用容量

如果没有可用容量,则 Spot 请求会继续自动发起启动请求,直到有可用容量为止。

如果在发出启动请求时没有可用容量,您会收到容量不足错误 (ICE)。

每小时价格

Spot 实例的每小时价格根据需求而有所不同。

按需实例的每小时价格是静态的。

实例中断

您无法停止和启动由 Amazon EBS 支持的 Spot 实例;只有 Amazon EC2 Spot 服务可以执行该操作。如果容量不再可用、Spot 价格超出您的最高价或对 Spot 实例的需求增加,Amazon EC2 Spot 服务可以中断个别 Spot 实例。

您可以决定何时中断个按需实例 (停止或终止)。

一种为应用程序维护最低级别的保障计算资源的策略是启动一组核心按需实例,再适机通过 Spot 实例来进行补充。

 按需实例与 Spot 实例的比较

另一项策略是,启动具有要求的时长的 Spot 实例 (也称为 Spot 限制),这些实例不会因 Spot 价格更改而中断。有关更多信息,请参阅 指定 Spot 实例的持续时间

概念

在开始使用 Spot 实例之前,应该熟悉以下概念:

  • Spot 实例池 – 一组未使用的 EC2 实例,具有相同的实例类型、操作系统、可用区和网络平台 (EC2-Classic 或 EC2-VPC)。

  • Spot 价格 – Spot 实例的当前每小时价格。

  • Spot 实例请求 – 提供您愿意为Spot 实例支付的每小时最高价。如果未指定最高价,则默认最高价为按需价格。如果具有可用的容量,并且您的请求的每小时最高价超过 Spot 价格,Amazon EC2 将完成您的请求。Spot 实例请求可以是一次性持久性 请求。Amazon EC2 会在与持久性 Spot 请求关联的Spot 实例终止之后自动重新提交该请求。Spot 实例请求可选择为 Spot 实例指定一个持续时间。

  • Spot 队列 – 一组基于指定条件启动的 Spot 实例。Spot 队列选择满足您的需要的 Spot 实例池,并启动 Spot 实例以满足队列的目标容量。默认情况下,Spot 队列设置为在队列中的 Spot 实例终止之后通过启动替代实例来维持 目标容量。您可以将Spot 队列作为一次性请求 来提交,这种请求在实例终止后不会被保留。您可以在 Spot 队列请求中包含个按需实例请求。

  • Spot 实例中断 – 如果 Spot 价格超过您的请求的最高价,或者不再具有可用的容量,Amazon EC2 将终止、停止或休眠您的Spot 实例。Amazon EC2 将提供Spot 实例中断通知,这会在实例中断之前为其提供两分钟的警告。

如何开始

您需要做的第一件事是为使用 Amazon EC2 进行设置。在启动 Spot 实例之前,若拥有启动按需实例的经验也会有所帮助。

您可以直接使用 Amazon EC2 预置 Spot 实例。也可以使用其他 AWS 服务预置 Spot 实例。有关更多信息,请参阅以下文档。

Amazon EC2 Auto Scaling 和 Spot 实例

您可以用自己愿意支付的最高价创建启动配置,以便 Amazon EC2 Auto Scaling 可以启动 Spot 实例。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南 中的在 Auto Scaling 组中启动 Spot 实例

Amazon EMR 和 Spot 实例

有时候,在 Amazon EMR 集群中运行 Spot 实例会非常有帮助。有关更多信息,请参阅 Amazon EMR 管理指南 中的 Spot 实例什么时候应该使用 Spot 实例

AWS CloudFormation 模板

AWS CloudFormation 使您能够使用 JSON 格式的模板来创建和管理 AWS 资源集合。AWS CloudFormation 模板可能包含您愿意支付的最高价。有关更多信息,请参阅 EC2 Spot 实例更新 - Auto Scaling 和 CloudFormation 集成

AWS SDK for Java

可以使用 Java 编程语言来管理 Spot 实例。有关更多信息,请参阅教程:Amazon EC2 Spot 实例教程:高级 Amazon EC2 Spot 请求管理

适用于 .NET 的 AWS 开发工具包

可以使用 .NET 编程环境来管理 Spot 实例。有关更多信息,请参阅教程:Amazon EC2 Spot 实例

定价

您可以为 Spot 实例支付 Spot 价格,该价格由 Amazon EC2 设置,并根据 Spot 实例的长期供求趋势逐步进行调整。如果具有可用的容量,并且您的请求的最高价超过当前 Spot 价格,Amazon EC2 将完成您的请求。Spot 实例将一直运行,直到您将其终止、容量不再可用或 Spot 价格超过最高价。

具有预定义持续时间的 Spot 实例使用的固定每小时价格在该 Spot 实例运行时仍有效。

查看价格

要查看各个区域和实例类型的当前 (每 5 分钟更新一次) 最低 Spot 价格,请参阅 Spot 实例定价页面。

要查看过去三个月的 Spot 价格历史记录,请使用 Amazon EC2 控制台或者 describe-spot-price-history 命令 (AWS CLI)。有关更多信息,请参阅 Spot 实例定价历史记录

我们将可用区独立地映射到每个 AWS 账户的代码。因此,不同账户的相同可用区代码 (如 us-west-2a) 可能会返回不同的结果。

查看账单

要查看您的账单,请转至“AWS 账户活动”页面。您的账单中包含了提供您的账单详情的使用情况报告的链接。有关更多信息,请参阅 AWS Account Billing

如果您有关于 AWS 账单、账户和事件的问题,请联系 AWS Support