Amazon Elastic Compute Cloud
Windows 实例用户指南
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 实例 请求中指定可用区,则具体结果将取决于您所指定的网络。

默认 VPC

Amazon EC2 使用指定子网的可用区。如果您未指定子网,它会为您选择一个可用区及其默认子网,但不一定是价格最低的可用区。如果您删除了可用区的默认子网,则必须指定其他子网。

非默认 VPC

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

在 VPC 中启动 Spot 实例

按照为 按需实例 指定子网的相同方法,为您的 Spot 实例 指定子网。

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

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

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