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

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

创建计算资源 &AMI;

您可以创建您自己的自定义计算资源 AMI 以用于托管计算环境和非托管计算环境。有关说明,请参阅 计算资源 &AMI; 规范。在创建自定义 AMI 后,您可以创建一个使用该 AMI 的计算环境,将此环境与一个任务队列关联,然后开始将任务提交到该队列。最后,开始向该队列提交作业。

创建自定义计算资源 &AMI;
  1. 选择从中启动的基本 &AMI;。AMI 必须使用 HVM 虚拟化。基础 AMI 不能是 Windows AMI。

    注意

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

    经 Amazon ECS 优化的 Amazon Linux 2 AMI 是托管计算环境中的计算资源的默认 AMI。经 Amazon ECS 优化的 Amazon Linux 2 AMI 由 Amazon 工程师进行预配置并在 Amazon Batch 上测试。这是一款最低限度的 AMI,您可以开始使用它并让您的计算资源在 Amazon 上快速运行。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 经Amazon ECS 优化的 AMI

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

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

    例如,如果您需要在 Amazon Batch 计算资源上运行 GPU 工作负载,可以首先使用 Amazon Linux 深度学习 AMI。然后,配置 AMI 运行 Amazon Batch 作业。有关更多信息,请参阅使用 GPU 工作负载 AMI

    重要

    您可以选择不支持 ecs-init 软件包的基础 AMI。但是,如果这样做,则必须配置一种在启动时启动 Amazon ECS 代理并使其保持运行的方法。您还可以查看几个使用 systemd 启动和监控 Amazon ECS 容器代理的用户数据配置脚本示例。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的示例容器实例用户数据配置脚本

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

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

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

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

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

    • 配置 Docker 选项 (启用调试、调整基本映像大小等)。

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

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

  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;。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的创建由 Amazon EBS 支持的 Linux AMI

将新 AMI 与 Amazon Batch 结合使用
  1. 使用新的 AMI 创建新计算环境。要执行此操作,在创建 Amazon Batch 计算环境时,选择映像类型并在映像 ID 覆盖框中输入自定义 AMI ID。有关更多信息,请参阅 若要使用 EC2 资源创建托管计算环境

    注意

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

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

    注意

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

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