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

时间:2017-08-31 18:07:09

标签: amazon-web-services docker amazon-ec2 amazon-ecs aws-batch

我想为Managed Compute Environment创建一个AWS Batch,但是使用EC2 User Data来配置实例,因为它们被带入了批处理作业的ECS队列。

这应该没关系,但User Data脚本的目的是将大数据文件下载到Docker容器将引用的InstanceStore上。

is possible in ECS,但我发现无法将用户数据传递到托管批处理计算环境。

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

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

2 个答案:

答案 0 :(得分:2)

您可以根据AWS提供的AMI创建AMI,并对其进行自定义。自Batch和/或ECS守护程序在其上运行后,它仍将被管理。

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

答案 1 :(得分:0)

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