【问题标题】:AWS: Order of importance for EC2 containers running on ECSAWS:在 ECS 上运行的 EC2 容器的重要性顺序
【发布时间】: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)

问题:

  1. 有没有办法让ECS知道,在所有服务都被最大化并且没有ENI剩余的情况下,我们至少需要一个service1,service2的实例在集群中运行。 ECS 决定自动缩放,但我想指定优先级。

  2. 在实例上最大化 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


【解决方案1】:

在对该主题进行一些研究后回答这个问题:

  1. 有没有办法根据可用的 ENI 自动扩展或为服务提供优先级?

目前,没有明确的路径可以根据实例上的免费 ENI 数量在 EC2 机器上自动扩展服务,也没有提供优先级。

几个注意事项:

一个。如果 Fargate 适合您的用例,它可能是一个选项,因为 Fargate 上的 ENI 数量没有记录限制。无论哪种情况,请确保 VPC 有足够的可用 IP 地址,因为它最终归结为分配的 IP 地址数量。

b.确定您的服务是否需要 awsvpc 或桥接模式是否可以达到目的。


  1. 最大化实例上的 ENI 似乎是一个常见问题。是否有推荐的方法来自动缩放实例上的 eni 而不是创建新实例?

没有。 AWS 提供 trunking 选项。

【讨论】:

    猜你喜欢
    • 2020-09-07
    • 1970-01-01
    • 2021-08-29
    • 2018-01-23
    • 1970-01-01
    • 2017-10-26
    • 2021-12-30
    • 1970-01-01
    • 2015-05-01
    相关资源
    最近更新 更多