5

我想为AWS Batch创建一个托管计算环境,但使用EC2 用户数据来配置实例,因为它们被引入 Batch 调度作业的 ECS 队列。

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

在 ECS 中是可能的,但我发现无法将用户数据传递到托管批处理计算环境。

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

我更喜欢使用EC2 用户数据作为解决方案,因为它为我们希望执行的任何其他引导提供了一个入口点。但我对其他黑客或解决方案持开放态度,只要它们适用于Managed Compute Environment

4

2 回答 2

2

您可以基于 AWS 提供的 AMI 创建一个 AMI,并对其进行自定义。由于 Batch 和/或 ECS 守护程序正在其上运行,因此仍将对其进行管理。

作为旁注,我正在尝试做同样的事情,但到目前为止还没有运气。我最终可能会创建一个自定义 AMI,并将配置脚本包含在 AMI 本身的 /etc/rc.local 中。不理想,但我认为 Batch 不能传递除所需之外的用户数据脚本。我还在调查这个。

于 2018-03-15T03:52:41.900 回答
0

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

于 2019-03-31T08:40:22.427 回答