计算资源 &AMI; - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

计算资源 &AMI;

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

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

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

  • 检查 Amazon ECS 容器代理

  • 自定义 Docker

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

注意

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

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

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

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

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

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

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

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

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

  • 请勿在 imageIdimageIdOverride(在 ec2Configuration)或启动模板(launchTemplate)中指定 AMI ID。如果您不指定 AMI ID,Amazon Batch 选择在启动基础设施更新时 Amazon 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未更新。