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

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

创建计算资源 AMI

您可以创建您自己的自定义计算资源 AMI 以用于托管计算环境和非托管计算环境,前提是您遵循计算资源 AMI 规范. 在创建自定义 AMI 后,您可以创建一个使用该 AMI 的计算环境,可以将此环境与一个作业队列关联,然后开始将作业提交到该队列。

创建自定义计算资源 AMI

  1. 选择从中启动的基本 AMI。此基本 AMI 必须使用 HVM 虚拟化,并且不能是 Windows AMI。

    注意

    您为计算环境选择的 AMI 必须与您打算用于该计算环境的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,则您选择的计算资源 AMI 必须支持 ARM 实例。Amazon ECS 同时提供经过 Amazon ECS 优化的 Amazon Linux 2 AMI 的 x86 和 ARM 版本。有关更多信息,请参阅 。Amazon ECS 优化的 Amazon Linux 2 AMI中的Amazon Elastic Container Service 开发指南.

    经 Amazon ECS 优化的 Amazon Linux 2 AMI 是托管计算环境中的计算资源的默认 AMI。经 Amazon ECS 优化的 Amazon Linux 2 AMI 已在上预配置和测试Amazon Batch通过Amazon工程师。这是可供您开始操作并获取正在上运行的计算资源的最简单 AMIAmazon快速。有关更多信息,请参阅 。亚马逊 ECS 优化 AMI中的Amazon Elastic Container Service 开发指南.

    或者,您可以选择另一个 Amazon Linux 2 变体并安装ecs-init包含下面的命令。有关更多信息,请参阅 。在 Amazon Linux 2 EC2 实例上安装 Amazon ECS 容器代理中的Amazon Elastic Container Service 开发指南

    $ sudo amazon-linux-extras disable docker $ sudo amazon-linux-extras install ecs-init

    例如,如果你想在你的上运行 GPU 工作负载Amazon Batch计算资源,你可以从Amazon Linux 深度学习 AMI并将其配置为能够运行Amazon Batch个作业。有关更多信息,请参阅使用 GPU 工作负载

    重要

    如果您选择的基本 AMI 不支持ecs-init程序包,则必须配置一种方式以使 Amazon ECS 代理在系统启动时启动并确保其保持运行状态。查看使用的几个示例用户数据配置脚本systemd要启动和监控 Amazon ECS 容器代理,请参阅容器实例用户数据配置脚本示例中的Amazon Elastic Container Service 开发指南.

  2. 使用适用于 AMI 的存储选项从选定的基本 AMI 启动实例。您可以配置附加的 Amazon EBS 卷或实例存储卷 (如果选定实例类型支持实例存储卷) 的大小和数量。有关更多信息,请参阅 。启动实例Amazon EC2 实例存储中的适用于 Linux 实例的 Amazon EC2 用户指南.

  3. 使用 SSH Connect 到实例并执行所有必要的配置任务。这可能包括以下任一或所有步骤:

    • 安装 Amazon ECS 容器代理。有关更多信息,请参阅 。安装 Amazon ECS 容器代理中的Amazon Elastic Container Service 开发指南.

    • 配置脚本以设置实例存储卷的格式。

    • 将实例存储卷或 Amazon EFS 文件系统添加到/etc/fstab文件以便它们在启动时挂载。

    • 配置 Docker 选项,例如启用调试或调整基本映像大小。

    • 安装程序包或复制文件。

    有关更多信息,请参阅 。使用 SSH 连接到 Linux 实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  4. 如果您在实例上启动了 Amazon ECS 容器代理,则必须先停止它并在创建 AMI 之前删除所有持久数据检查点文件。否则,如果你不这样做,代理将不会在从 AMI 启动的实例上启动。

    1. 停止 Amazon ECS 容器代理。

      • 经 Amazon ECS 优化的 Amazon ECS Amazon Linux 2 AMI:

        sudo systemctl stop ecs
      • 经 Amazon ECS 优化的 Amazon ECS Amazon Linux AMI:

        sudo stop ecs
    2. 删除持久数据检查点文件。默认情况下,这些文件位于/var/lib/ecs/data/目录。使用以下命令删除所有此类文件。

      sudo rm -rf /var/lib/ecs/data/*
  5. 从正在运行的实例创建新的 AMI。有关更多信息,请参阅 。创建 Amazon EBS 支持的 Linux AMI中的适用于 Linux 实例的 Amazon EC2 用户指南指南。

将新 AMI 与 Amazon Batch 结合使用

  1. 创建 AMI 后,使用新 AMI 创建计算环境。确保选择启用用户指定的 AMI ID然后在中指定自定义 AMI ID步骤 3)。有关更多信息,请参阅创建计算环境

    注意

    您为计算环境选择的 AMI 必须与您打算用于该计算环境的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,则您选择的计算资源 AMI 必须支持 ARM 实例。Amazon ECS 同时提供经过 Amazon ECS 优化的 Amazon Linux 2 AMI 的 x86 和 ARM 版本。有关更多信息,请参阅 。Amazon ECS 优化的 Amazon Linux 2 AMI中的Amazon Elastic Container Service 开发指南.

  2. 创建作业队列并关联新计算环境。有关更多信息,请参阅创建作业队列

    注意

    与作业队列关联的所有计算环境必须共享同一架构。Amazon Batch不支持在单个作业队列中混合使用计算环境架构类型。

  3. (可选)将示例作业提交到新作业队列。有关更多信息,请参阅 作业定义示例创建单节点作业定义 提交作业