Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Spot 实例

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

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

Spot 实例和按需实例的主要差别在于,只有在具有可用的容量时,才能立即启动 Spot 实例,Spot 实例的每小时价格根据需求发生变动,在 Spot 实例的价格或可用情况发生变化时,Amazon EC2 可能会中断单个 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 价格超过您的请求的最高价,或者不再具有可用的容量,Amazon EC2 将终止、停止或休眠您的 Spot 实例。Amazon EC2 将提供 Spot 实例中断通知,这会在实例中断之前为其提供两分钟的警告。

如何开始

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

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

Auto Scaling 和 Spot 实例

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

Amazon EMR 和 Spot 实例

有时候,在 Amazon EMR 集群中运行 Spot 实例会非常有帮助。有关更多信息,请参阅 Amazon EMR 开发人员指南 中的 通过 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