AWS ECS 无法运行超过 10 个任务

use*_*972 2 amazon-web-services amazon-ecs

我有一个 ECS 集群,其中有 20 个注册实例。

我有 3 个任务定义来解决一个大数据问题。

任务 1:拆分任务 - 这将启动一个 docker 容器,并且该容器定义有一个入口点来运行名为 HPC-Split 的脚本。该脚本将大数据分成安装的 EFS 中的 5 个部分。该任务的任务数量(计数)为 1。

任务 2:运行任务:这将启动另一个 docker 容器,并且该 docker 容器有一个入口点来运行名为 HPC-script 的脚本,该脚本处理每个拆分部分。为此选择的任务数量为 5,以便并行处理。

任务 3:合并任务:这会启动第三个 docker 容器,该容器有一个入口点来运行名为 HPC-Merge 的脚本,并合并所有部分的不同输出。同样,我们需要为此运行的任务数(计数)为 1。

现在AWS服务限制说:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_limits.html 我们可以运行的最大任务(计数)是10个。所以我们目前只能运行10个并行处理。含义是,拆分文件(1 个任务在 1 个实例上运行)、运行进程(任务在 10 个实例上运行)、合并文件(任务在 1 个实例上运行)。

10 的限制限制了我们可以并行处理的级别,我不知道如何绕过。我对这个限制感到惊讶,因为肯定需要在集群中超过 10 个实例上运行长时间运行的进程。

你们能给我一些关于如何绕过这个限制或如何最佳地使用 ECS 并行运行 20 个任务的指示吗?我使用的分散放置是“每个主机一个任务”,因为该进程使用一台主机中的所有核心。

如何使用 ECS 更好地构建这一点?

Sam*_*arp 7

每个运行任务启动的任务数(计数)

这是每次调用运行任务 API 可以启动的最大任务数。要启动更多任务,请再次调用运行任务 API。