创建 AWS Batch 托管计算环境,将 UserData 传递给容器实例

Create AWS Batch Managed Compute Environment passing UserData to Container Instances

我想创建一个 Managed Compute Environment for AWS Batch, but use EC2 User Data 来配置实例,因为它们被引入 Batch 正在调度作业的 ECS 队列。

没关系,但用户数据脚本的目的是将大型数据文件下载到 Docker 容器将引用的 InstanceStore。

is possible in ECS,但我没有找到将用户数据传递到托管批处理计算环境的方法。

最多只能指定AMI。但是由于我们要使用托管,我们必须使用 Amazon ECS-optimized AMI.

我更愿意使用 EC2 User Data 作为解决方案,因为它为我们希望执行的任何其他引导提供了一个入口点。但我对其他技巧或解决方案持开放态度,只要它们适用于 托管计算环境

您可以基于AWS提供的AMI创建AMI,并进行自定义。它仍将受到管理,因为 Batch and/or ECS 守护程序在其上 运行。

附带说明一下,我正在尝试做同样的事情,但到目前为止还没有成功。我最终可能会创建一个自定义 AMI,并将配置脚本包含在 /etc/rc.local 中的 AMI 本身中。不理想,但我不认为 Batch 可以传递它需要的用户数据脚本。我还在调查这个。

您可以创建包含您的用户数据的启动模板。然后将此启动模板分配给您的计算环境。请记住,您可能必须清理 AMI 中的 cloud init 目录,因为它可能已经启动一次(在创建 ami 时)。 Launch template userguide