如何在 AWS Batch 中将现有 ECS 集群设置为计算环境

Sou*_*uad 5 solution cluster-computing amazon-web-services amazon-ecs

我的环境中正在ECS cluster运行,它配置了任务、存储库和服务以及自动缩放。

我正在发现该AWS Batch服务,当我创建一个新的服务时,compute environment一个新的集群将被添加到该ECS服务中。我想知道如何将 a 设置compute environment为我已有的集群?

dve*_*eim 3

据我所知(花了半天时间,研究文档和论坛),这是不可能的。创建计算环境后立即分配,并且无法更改computeEnvironmentsecsClusterArn

有趣的是,Batch 以某种方式修改/etc/ecs/ecs.config托管 CE 中新创建的实例:

... // config from my AMI ECS_CLUSTER=my_cluster_name ... // ECS_CLUSTER={ENVIRONMENT NAME HERE}_Batch_{RANDOM UUID HERE} ECS_DISABLE_IMAGE_CLEANUP=false ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION=2m ECS_IMAGE_CLEANUP_INTERVAL=10m ECS_IMAGE_MINIMUM_CLEANUP_AGE=10m ECS_NUM_IMAGES_DELETE_PER_CYCLE=5 ECS_RESERVED_MEMORY=32 ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"] ,第一个ECS_CLUSTER被第二个擦除。这看起来像是一些预定义的user-data,但我也找不到可以更改的地方。

但是,您可能可以通过相反的方法实现最初的目标 - 创建非托管CE,并循环遍历您想要在该 CE 中的实例,更改为ECS_CLUSTER,重新启动(或相关 docker,如果不是 Amazon Linux)。现在您的容器属于另一个集群,唯一的区别在于集群的名称。/etc/ecs/ecs.config$that_autogenerated_CE_arnecs-agent