创建计算资源 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工程师。这是可供您开始操作并获取上运行的计算资源的最简单 AMI。Amazon快速。有关更多信息,请参阅 。亚马逊云服务器优化 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

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

    重要

    如果您选择的基本 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 Linux 2 AMI:

        sudo systemctl stop 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. (可选)将示例作业提交到新作业队列。有关更多信息,请参阅 作业定义示例创建作业定义提交作业