【发布时间】:2021-06-28 13:49:30
【问题描述】:
我需要在 ECS EC2 集群上运行 5-6 个服务。这些服务中的每一个都根据以下设置自动缩放。我正在使用具有 max number of ENI's set to 3.
的 EC2 实例类型 t2.large由于 ENI 是由 AWS 设置的,因此当服务数量自动缩放时,我会遇到 RESOURCE: ENI 错误。目前,我正在通过自动缩放 ec2 实例来解决这个问题。
看起来 AWS 为每个容器分配了 1 个私有 IP,并且实例上的最大 eni 决定了可以在 EC2 上运行的容器数量。
- service1(最小:1,最大:2)
- service2(最小:1,最大:2)
- service3(最小:1,最大:10)
- service4(最小:1,最大:1)
- service5(最小:1,最大:1)
- service6(最小:1,最大:1)
问题:
-
有没有办法让ECS知道,在所有服务都被最大化并且没有ENI剩余的情况下,我们至少需要一个service1,service2的实例在集群中运行。 ECS 决定自动缩放,但我想指定优先级。
-
在实例上最大化 ENI 似乎是一个常见问题。是否有推荐的方法来自动缩放实例上的 eni 而不是创建新实例。
【问题讨论】:
-
如果您从
awsvpc网络切换到bridge,它将不再为每个容器分配一个ENI。 -
我可以知道使用桥接模式进行网络有什么缺点吗?我可能需要每个容器的 SG。
-
我在文档中没有看到任何明确的内容。上次使用 ECS(大约 3-4 年前),
bridge是默认模式,awsvpc模式尚不可用。 -
github.com/aws-samples/aws-microservices-deploy-options/issues/… 此文档提供了两者之间的差异。我会尝试使用桥接模式。
标签: amazon-web-services amazon-ec2 amazon-ecs