View a markdown version of this page

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

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

AMI 选择顺序

Amazon Batch 使用以下优先顺序确定计算资源的亚马逊系统映像 (AMI)。了解此顺序有助于您了解为何为您的计算环境 Amazon Batch 选择特定 AMI:

  1. 启动模板覆盖 AMI-如果已启动实例的启动模板覆盖有图像,则使用其映像。

  2. 计算资源映像 ID(已弃用)-如果已设置,则使用此计算环境 AMI。注意:已弃用的字段;使用 ec2Configuration。 imageIdOverride 相反。

  3. EC2 配置映像 ID 覆盖-如果指定,则使用此字段中的图像。

  4. 启动模板 AMI-如果计算环境具有与图像关联的启动模板,则将使用此映像。

  5. Amazon 默认 AMI-如果以上均未配置,则根据 EC2Configuration 中指定的图像类型 Amazon Batch 选择默认 AMI。

注意

ec2Configuration 参数是可选的。如果省略,则根据在计算环境中启动的实例类型 Amazon Batch 自动选择适当的 EC2Configuration 和默认 AMI。

注意

此 AMI 选择顺序不适用于 Fargate 计算环境。

AMI 选择顺序从最高到最低优先级

  1. 启动模板覆盖 AMI(优先级最高)

    API 字段:overrides[].launchTemplateId包含目标实例类型

    参考:LaunchTemplateSpecification

    覆盖模板针对特定的实例类型,并提供比默认启动模板更精细的控制。在匹配实例类型方面,它们优先于所有其他 AMI 规范。

    { "computeResources": { "launchTemplate": { "launchTemplateId": "lt-default", "overrides": [ { "launchTemplateId": "lt-gpu-optimized", "targetInstanceTypes": ["p3.2xlarge", "g4dn.xlarge"] } ] } } }
  2. 计算资源镜像 ID

    API 字段:computeResources.imageId

    参考:CreateComputeEnvironment

    您可以直接在计算环境级别指定 AMI。这优先于 EC2 配置覆盖和启动模板(覆盖模板除外)。

    在具有多个 EC2 配置(例如ECS_AL2023ECS_AL2023_NVIDIA)的计算环境中,此处指定的 AMI ID 用于所有 EC2 配置。

    重要

    imageId字段已被弃用。请ec2Configuration.imageIdOverride改用。

    { "computeResources": { "imageId": "ami-12345678", "instanceTypes": ["m5.large", "m5.xlarge"] } }
  3. EC2 配置映像 ID 覆盖

    API 字段:computeResources.ec2Configuration[].imageIdOverride

    参考:Ec2 配置

    EC2 配置提供特定于图像类型的替换。此设置将覆盖指定图像类型的默认 AMI 选择并启动模板 AMI。

    { "computeResources": { "ec2Configuration": [ { "imageType": "ECS_AL2", "imageIdOverride": "ami-87654321" } ] } }
  4. 启动模板 AMI

    API 字段:ImageId在 Amazon EC2 启动模板中

    参考:使用 Amazon EC2 启动模板和 Amazon Batch

    当您在启动模板中指定 AMI 时,它优先于默认 AMI 选择,但会被更高的优先级设置所覆盖。

    // EC2 Launch Template content { "LaunchTemplateName": "my-batch-template", "LaunchTemplateData": { "ImageId": "ami-12345678" } }

    由 Amazon Batch 启动模板引用:

    // Batch Launch Template content { "computeResources": { "launchTemplate": { "launchTemplateName": "my-batch-template", "version": "$Latest" } } }
  5. Amazon 默认 AMI(最低优先级)

    API 字段:computeResources.ec2Configuration[].imageType

    参考:Ec2 配置图片类型

    如果未指定自定义 AMI,则根据图像 Amazon Batch 类型自动选择最新批准的 Amazon Amazon ECS 优化的 AMI。

    注意

    ec2Configuration是可选的。 Amazon Batch 如果未ec2Configuration指定,将选择相应的默认 AMI。

    { "computeResources": { "ec2Configuration": [ { "imageType": "ECS_AL2023" } ] } }