同一实例主机上的多个 Amazon ECS 任务

Several Amazon ECS tasks on the same instance host

假设我有一个初始数量为 2 个实例的自动缩放组。假设此自动缩放组的实例属于同一类型(因此内存量相同且 CPU)。在这种情况下,最大实例数不相关。我还有一个 ELB,它在该组的实例之间进行负载平衡。除此之外,这个自动缩放组的实例是我之前创建的一些新的 ECS 集群的成员。在这种情况下只有一个任务定义,只有一个容器将使用 512Mb 的 RAM。此容器还需要从主机的 80 到容器的 5000 的端口映射。

假设我已经启动了这个自动缩放组,现在有 2 个初始实例可以使用了。然后我尝试根据上述任务定义生成包含 4 个任务的服务。想象一下,如果这 2 个实例由两个放置(如果每个主机都有 1Gb 的 RAM),那么这个任务将完全适合这 2 个实例。

这种设置是否合法?如果是这样那么端口映射会发生什么,因为一台主机上会有​​ 2 个相同的容器?

您可以将 5000 转发到不同的实例端口(因为您不能多次绑定 80)。

然后您可以使用 ELB 跨端口映射。 this post answers the specifics.

您希望跨集群标准化服务 1 的端口,以便可以将 ELB 绑定到它。 IE。 ELB 端口 80 无法映射到 5000 和 5001。因此端口 5000 将在两个实例上转发。