计算资源 AMIs - AWS Batch

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

计算资源 AMIs

默认情况下, AWS Batch 托管计算环境使用最新经批准的 Amazon ECS 优化版 AMI 来处理计算资源。但是,您可能出于以下原因需要创建自己的 &AMI; 以用于托管计算环境和非托管计算环境:如果您需要以下任何一项,我们建议您创建自己的 AMI:

  • 增加 &AMI; 根卷或数据卷的存储大小

  • 为支持的 Amazon EC2 实例类型添加实例存储卷

  • 检查 Amazon ECS 容器代理

  • 自定义 Docker

  • 配置 GPU 工作负载 AMI 以允许容器在支持的 Amazon EC2 实例类型上访问 GPU 硬件

注意

创建计算环境后, AWS Batch 不会在计算环境 AMIs 中升级。 AWS Batch 当有更新版本的 AMIs Amazon ECS 优化的 AMI 可用时,也不会在您的计算环境中更新。您需要管理客户操作系统。其中包括任何更新和安全补丁。您还负责为在计算资源上安装的任何其他应用程序软件或实用程序。要将新的 AMI 用于您的 AWS Batch 任务,请执行以下操作:

  1. 使用新的 AMI 创建新计算环境。

  2. 将计算环境添加到现有作业队列。

  3. 从作业队列中删除早期的计算环境。

  4. 删除早期的计算环境。

2022 年 4 月, AWS Batch 增加了对更新计算环境的增强支持。有关更多信息,请参阅 更新计算环境。要使用计算环境的增强更新进行更新 AMIs,请遵循以下规则:

  • 要么不要设置服务角色 (serviceRole) 参数,要么将其设置为AWSServiceRoleForBatch服务相关角色。

  • 将分配策略(allocationStrategy)参数设置为 BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZEDSPOT_PRICE_CAPACITY_OPTIMIZED

  • 将更新到最新图像版本(updateToLatestImageVersion)参数设置为true

  • 请勿在imageIdimageIdOverride(在ec2Configuration)或启动模板 (launchTemplate) 中指定 AMI ID。如果您不指定 AMI ID,请 AWS Batch 选择在启动基础设施更新时 AWS Batch 支持的最新 Amazon ECS 优化的 AMI。或者,您可以指定 imageIdOverride 参数,而不是 imageId。或者,也可以指定由 LaunchTemplate 属性标识的启动模板。更改这些属性中的任何一个都将启动基础架构更新。如果在启动模板中指定了 AMI ID,则不能通过在 imageIdimageIdOverride 参数中指定 AMI ID 来替换它。AMI ID 只能通过指定不同的启动模板进行替换。如果启动模板版本设置为 $Default$Latest,则可以通过为启动模板设置新的默认版本(如果 $Default)或向启动模板添加新版本(如果 $Latest)来替换 AMI ID。

如果遵循这些规则,触发基础设施更新的任何更新都将导致重新选择 AMI ID。如果启动模板 (launchTemplate) 中的version设置设置为$Latest$Default,则在基础架构更新时会评估启动模板的最新版本或默认版本,即使launchTemplate未更新。