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

Spot 实例的工作原理

要使用 Spot 实例,请创建一个 Spot 实例请求Spot 队列请求。该请求可能包含您愿意为每个实例支付的每小时最高价 (默认为按需价格) 以及其他限制 (如实例类型和可用区)。如果您的最高价超过指定实例的当前 Spot 价格,并且具有可用的容量,则会立即完成您的请求。否则,只要最高价超过 Spot 价格,并且具有可用的容量,就会完成该请求。 Spot 实例将一直运行,直到您终止这些实例或 Amazon EC2 必须中断这些实例 (也称为Spot 实例中断)。

使用 Spot 实例时,必须做好应对中断的准备。如果 Spot 实例需求增加或 Spot 实例供应减少,在 Spot 价格超过最高价时,Amazon EC2 可能会中断 Spot 实例。在 Amazon EC2 中断Spot 实例时,将提供Spot 实例中断通知,这会在 Amazon EC2 终止该实例之前为其提供两分钟的警告。无法为 Spot 实例启用终止保护。有关更多信息,请参阅 Spot 实例中断

如果 Amazon EBS 支持的实例是Spot 实例,则无法停止和启动该实例 (仅 Spot 服务可以停止和启动Spot 实例),但可以重新引导或终止Spot 实例。

在启动组中启动 Spot 实例

在Spot 实例请求中指定启动组,可以通知 Amazon EC2 只有在可以全部启动一组 Spot 实例时才启动。此外,如果 Spot 服务必须终止启动组中的某个实例 (例如,如果 Spot 价格超过您的最高价),它必须终止所有实例。不过,如果由您终止启动组中的一个或多个实例,Amazon EC2 不会终止该启动组中的剩余实例。

尽管此选项有用处,但是添加此约束会减少完成 Spot 实例请求的几率并且增加 Spot 实例 被终止的几率。例如,如果启动组包括多个可用区中的实例,在这些可用区中,其中一个可用区中的容量减少且不再可用,则 Amazon EC2 会终止启动组的所有实例。

如果您创建了另一个成功的Spot 实例请求并指定与之前成功请求相同 (现有) 的启动组,则新实例将添加到该启动组中。以后,在该启动组的一个实例终止时,启动组中的所有实例均会终止,这包括第一次请求和第二次请求启动的实例。

在可用区组中启动 Spot 实例

在 Spot 实例请求中指定可用区组,可以通知 Spot 服务在该可用区中启动一组 Spot 实例。Amazon EC2 不需要同时中断某个可用区组中的所有实例。如果 Amazon EC2 必须中断可用区组中的某个实例,剩余的实例仍保持运行。

虽然此选项非常有用,但添加此约束会减少完成您的Spot 实例请求的几率。

如果您在Spot 实例请求中指定了可用区组,但没有指定可用区,则 Spot 服务所采取的操作将取决于您指定的是 EC2-Classic 网络、默认 VPC 还是非默认 VPC。有关更多信息,请参阅 支持的平台

EC2-Classic

Amazon EC2 在区域中查找最低价格的可用区;如果该组的最低价格高于该可用区中的当前 Spot 价格,则在该可用区中启动 Spot 实例。Amazon EC2 将等到具有足够的容量以同时启动 Spot 实例,但前提是 Spot 价格始终低于该组的最低价格。

默认 VPC

Amazon EC2 使用指定子网的可用区,如果您没有指定子网,则 Spot 服务将选择一个可用区及其默认子网,但这可能不是最低价格的可用区。如果您删除了可用区的默认子网,则必须指定其他子网。

非默认 VPC

Amazon EC2 使用指定子网的可用区。

在 VPC 中启动 Spot 实例

如果想在使用 Spot 实例时利用 EC2-VPC 的功能,请在 Spot 请求中将 Spot 实例指定为在 VPC 中启动。按照为按需实例指定子网的方法,为 Spot 实例指定子网。

在 VPC 中启动 Spot 实例的 Spot 实例请求的提交过程与在 EC2-Classic 中启动 Spot 实例的 Spot 实例请求的提交过程基本相同,区别如下:

  • 您应该使用默认最高价 (按需价格),或者根据 VPC 中的 Spot 实例的 Spot 价格历史记录指定最高价。

  • [默认 VPC] 如果希望在特定的低价格可用区中启动您的Spot 实例,您必须在Spot 实例请求中指定对应的子网。如果您没有指定子网,则 Amazon EC2 将为您选择一个子网,而该子网的可用区中的 Spot 价格不一定是最低的。

  • [非默认 VPC] 您必须为您的Spot 实例指定子网。