本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:创建计算资源 AMI
您可以创建您自己的自定义计算资源 AMI 以用于托管计算环境和非托管计算环境。有关说明,请参阅 计算资源 &AMI; 规范。在创建自定义 AMI 后,您可以创建一个使用该 AMI 的计算环境,将此环境与一个任务队列关联,然后开始将任务提交到该队列。最后,开始向该队列提交作业。
创建自定义计算资源 &AMI;
-
选择从中启动的基本 &AMI;。AMI 必须使用 HVM 虚拟化。基础 AMI 不能是 Windows AMI。
注意
您为计算环境选择的 AMI 必须与您希望用于该计算环境的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,您选择的计算资源 AMI 必须支持 Arm 实例。Amazon ECS 两者兼而有之 x86 以及 Arm 亚马逊 ECS 的版本优化了亚马逊 Linux 2 AMI。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的经过 Amazon ECS 优化的 Amazon Linux 2 AMI。
经 Amazon ECS 优化的 Amazon Linux 2 AMI 是托管计算环境中的计算资源的默认 AMI。优化的亚马逊 ECS Amazon Linux 2 AMI 已 AWS Batch 由 AWS 工程师进行预配置和测试。这是一款最低限度的 AMI,您可以开始使用它并让您的计算资源 AWS 快速运行。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 经Amazon ECS 优化的 AMI。
或者,您可以选择另一个 Amazon Linux 2 变体,并使用以下命令安装
ecs-init
程序包:有关更多信息,请参阅亚马逊弹性容器服务开发人员指南中的在 Amazon Linux 2 EC2 实例上安装 Amazon ECS 容器代理:$
sudo amazon-linux-extras disable docker
$
sudo amazon-linux-extras install ecs-init
例如,如果您想在 AWS Batch 计算资源上运行 GPU 工作负载,则可以从 Amazon Linux 深度学习 AMI
开始。然后,将 AMI 配置为运行 AWS Batch 作业。有关更多信息,请参阅 使用 GPU 工作负载 AMI。 重要
您可以选择不支持
ecs-init
软件包的基础 AMI。但是,如果这样做,则必须配置一种在启动时启动 Amazon ECS 代理并使其保持运行的方法。您还可以查看几个使用systemd
启动和监控 Amazon ECS 容器代理的用户数据配置脚本示例。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的示例容器实例用户数据配置脚本。 -
使用适用于 &AMI; 的存储选项从选定的基本 &AMI; 启动实例。您可以配置附加的 Amazon EBS 卷或实例存储卷 (如果选定实例类型支持实例存储卷) 的大小和数量。有关更多信息,请参阅亚马逊 EC2 用户指南中的启动 EC2 实例和亚马逊实例存储。
-
使用 Connect 连接到您的实例 SSH 并执行所有必要的配置任务。这可能包括以下任一或所有步骤:
-
安装 Amazon ECS 容器代理 有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的安装 Amazon ECS 容器代理。
-
配置脚本以设置实例存储卷的格式。
-
将实例存储卷或 Amazon EFS 文件系统添加到
/etc/fstab
文件,以便它们在系统启动时挂载。 -
配置 Docker 选项 (启用调试、调整基本映像大小等)。
-
安装程序包或复制文件。
有关更多信息,请参阅 Amazon EC2 用户指南中的使用 SSH 连接您的 Linux 实例。
-
-
如果您在实例上启动了 Amazon ECS 容器代理,则在创建 AMI 之前,必须将其停止并移除所有永久性数据检查点文件。否则,如果您不这样做,代理不会在从您的 AMI 启动的实例上启动。
-
停止 Amazon ECS 容器代理。
-
经 Amazon ECS 优化的 Amazon ECS Amazon Linux 2 AMI:
sudo systemctl stop ecs
-
经 Amazon ECS 优化的 Amazon ECS Amazon Linux AMI:
sudo stop ecs
-
-
删除持久性数据检查点文件。默认情况下,该文件位于以下
/var/lib/ecs/data/
目录中。使用以下命令删除这些文件(如果有)。sudo rm -rf /var/lib/ecs/data/*
-
-
从正在运行的实例创建新的 &AMI;。有关更多信息,请参阅亚马逊 EC2 用户指南指南中的创建由亚马逊 EBS 支持的 Linux AMI。
要将您的新 AMI 与 AWS Batch
-
使用新的 AMI 创建新计算环境。为此,请在创建 AWS Batch 计算环境时选择映像类型并在映像 ID 覆盖框中输入自定义 AMI ID。有关更多信息,请参阅 教程:使用 Amazon EC2 资源创建托管计算环境。
注意
您为计算环境选择的 AMI 必须与您希望用于该计算环境的实例类型的架构匹配。例如,如果您的计算环境使用 A1 实例类型,您选择的计算资源 AMI 必须支持 Arm 实例。Amazon ECS 两者兼而有之 x86 以及 Arm 亚马逊 ECS 的版本优化了亚马逊 Linux 2 AMI。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的经过 Amazon ECS 优化的 Amazon Linux 2 AMI。
-
创建作业队列并关联新计算环境。有关更多信息,请参阅 创建作业队列。
注意
与任务队列关联的所有计算环境都必须共享相同的架构。 AWS Batch 不支持在单个作业队列中混合计算环境架构类型。