AWS ECS 在一个任务定义中启动多个容器

Dip*_*pas 5 containers amazon-web-services amazon-ecs docker

我有一个带有一个应用程序的 docker 容器,应用程序根据输入参数运行,传递给入口点。我想为 ECS 创建一个任务定义,并在一个任务定义中并行运行多个容器,每个容器具有不同的输入参数。

问题是 - 如果不在任务定义中为我的容器之一设置基本选项,我就无法做到这一点。但是,如果我的基本容器用完,我不想阻止其他人。所有容器都是独立的。

可能的选择是为每个容器创建一个任务定义。但它会花费更多,因为我的应用程序不会使用很多资源。

是否有任何其他解决方案或方法可以在一个任务定义中运行多个容器而不依赖于基本选项?

Eth*_*hit 7

在您想要运行不同应用程序的多个容器的情况下。建议为每个任务使用单独的任务定义。

当我们想要在我们的应用程序中运行某种 sidecar(该应用程序是该任务定义的容器之一)时,我们会在一个任务定义中使用多个容器。

此外,在 ECS 中,您无需为任务定义付费,而是为您创建的用于存储和运行应用程序的 AWS 资源(例如 EC2 实例或 EBS 卷)付费。您只需在使用时按使用量付费;没有最低费用,也没有预先承诺。

定价: https: //aws.amazon.com/ecs/pricing/

  • 我正在使用 Fargate 运行选项,在启动任务之前,我应该在任务定义中预定义 vCPU 和内存。当它运行时,我为我使用的时间和我已经为 Fargate 预定义的所有资源付费,但不是为我在任务中实际使用的资源付费。碰巧我有资源,但闲置了。 (2认同)