

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EC2 按需型或 Amazon EC2 竞价型
<a name="bestpractice5"></a>

大多数 Amazon Batch 客户之所以使用 Amazon EC2 竞价型实例，是因为与按需型实例相比，可以节省开支。但是，如果您的工作负载运行多个小时且无法中断，则按需型实例可能更适合您。您可以随时先试用竞价型实例，必要时切换到按需型实例。

如果您有以下要求和期望，请使用 Amazon EC2 按需型实例：
+ 作业的运行时超过一个小时，您不能容忍工作负载中断。
+ 您的总体工作负载有严格的 SLO（服务级别目标），并且不能增加计算时间。
+ 您需要的实例更有可能出现中断。

如果您有以下要求和期望，请使用 Amazon EC2 竞价型实例：
+ 作业的运行时通常为 30 分钟或更短。
+ 您可以容忍潜在的中断，以及作业重新安排作为工作负载的一部分。有关更多信息，请参阅[竞价型实例](https://www.amazonaws.cn/ec2/spot/instance-advisor/)。
+ 如果中断，可以从检查点重新启动长时间运行的作业。

您可以混合使用两种购买模式，方法是先在竞价型实例上提交，然后使用按需型实例作为后备选项。例如，在与 Amazon EC2 竞价型实例上运行的计算环境相连的队列上提交您的作业。如果作业被中断，请从 Amazon EventBridge 中捕获该事件，并将其与竞价型实例回收关联起来。然后，使用 Amazon Lambda 函数或 Amazon Step Functions 将作业重新提交到按需队列。有关更多信息，请参阅 [教程：针对作业失败事件发送 Amazon Simple Notification Service 警报](batch_sns_tutorial.md)，[处理 Amazon EC2 竞价型实例中断的最佳实践](https://www.amazonaws.cn/blogs/compute/best-practices-for-handling-ec2-spot-instance-interruptions/)和[使用 Step Functions 管理Amazon Batch](https://docs.amazonaws.cn/step-functions/latest/dg/connect-batch.html)。

**重要**  
为您的按需计算环境使用不同的实例类型、大小和可用区，以维持 Amazon EC2 竞价型实例池的可用性并降低中断率。