使用 Amazon EC2 Spot 最佳实践 Amazon Batch - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon EC2 Spot 最佳实践 Amazon Batch

当您选择 Amazon Elastic Compute Cloud (EC2) 竞价型实例时,您很可能会优化工作流程以节省成本,有时甚至可以显著节省成本。有关更多信息,请参阅 Amazon EC2 Spot 的最佳实践

要优化您的工作流程以节省成本,请考虑以下 Amazon EC2 Spot 最佳实践 Amazon Batch:

  • 选择SPOT_CAPACITY_OPTIMIZED分配策略 — 从最深的 Amazon EC2 Spot 容量池中 Amazon Batch 选择 Amazon EC2 实例。如果您担心中断,这是一个合适的选择。有关更多信息,请参阅 的实例类型分配策略 Amazon Batch

  • 多样化实例类型 — 要使您的实例类型多样化,请考虑兼容的大小和系列,然后根据价格或可用性进行 Amazon Batch 选择。例如,考虑将 c5.24xlarge 作为 c5.12xlargec5ac5nc5dm5m5d 系列的替代方案。有关更多信息,请参阅灵活选择实例类型和可用区

  • 减少任务运行时间或检查点 — 我们建议不要在使用 Amazon EC2 Spot 实例时运行需要一小时或更长时间的作业,以避免中断。如果将作业分成小部分或设置检查点,时间不超过 30 分钟,则可以显著降低中断的可能性。

  • 使用自动重试-为避免作业中断,请为 Amazon Batch 作业设置自动重试。批处理作业可能由于以下任何原因而中断:返回非零的退出代码、发生服务错误或发生实例回收。您最多可以设置 10 次自动重试。首先,我们建议您至少设置 1-3 自动重试。有关跟踪 Amazon EC2 Spot 中断的信息,请参阅 Spot 中断控制面板

    因为 Amazon Batch,如果您设置了重试参数,则作业将放在作业队列的前面。也就是说,作业被优先考虑。在中创建作业定义或提交作业时 Amazon CLI,可以配置重试策略。有关更多信息,请参阅 提交任务

    $ aws batch submit-job --job-name MyJob \ --job-queue MyJQ \ --job-definition MyJD \ --retry-strategy attempts=2
  • 使用自定义重试次数 – 您可以将作业重试策略配置为特定的应用程序退出代码或实例回收。在以下示例中,如果主机导致故障,则作业最多可以重试五次。但是,如果作业由于其他原因失败,则作业将退出并将状态设置为 FAILED

    "retryStrategy": { "attempts": 5, "evaluateOnExit": [{ "onStatusReason" :"Host EC2*", "action": "RETRY" },{ "onReason" : "*", "action": "EXIT" }] }
  • 使用竞价型中断控制面板 – 您可以使用竞价型中断控制面板来跟踪竞价型中断情况。该应用程序提供有关已回收的 Amazon EC2 Spot 实例以及竞价型实例所在的可用区的指标。有关更多信息,请参阅竞价型中断控制面板