Auto Scaling 组、ECS 容量提供商和 ECS 服务 Auto Scaling 之间的区别

问题描述 投票:0回答:1

我无法理解 Auto Scaling 组、ECS 容量提供商和服务 Auto Scaling 的属性之间的差异。我正在使用 terraform 来创建基础设施并部署服务。

我在一个 ECS 服务中有一个 API,基本上可以处理所有请求,但为了以防万一,我创建了 2 个 API。任务定义设置为使用 512 cpu 和 1024 内存。

如果我的 API 可以扩展,我需要能够扩展和扩展容器或 EC2 实例。

所以基本上我需要:

  • 1 个自动伸缩组
  • 1 个 ECS 容量提供商(链接到 ASG)
  • 1 ECS 服务自动伸缩(例如达到 70% cpu 时进行伸缩)

我的问题是:

  • ASG 的
    min
    max
    尺寸是多少?可伸缩的 EC2 实例数量?
  • ECS 容量提供商的
    minimum
    maximum
    扩展步长是多少?如果我将最大值设置为10,是否意味着可以同时横向扩展10个EC2实例?我需要设置这个吗?
  • ECS服务弹性伸缩的
    min
    max
    容量是多少?基于目标跟踪可以部署多少个ECS服务?

举个小例子

  • 如果我使用 t3.small 实例(2 GiB 内存)
  • ASG 至最小值=1,最大值=2
  • ECS 容量提供商 min=max=1
  • ECS服务最小值=1,最大值=5

根据我的理解,如果 API 达到 70% cpu,则扩展到 2 个服务(仍然只需要一个 EC2 实例)。下一次扩展意味着新的 EC2 实例。第5个不行。这是正确的吗?

amazon-ec2 amazon-ecs aws-auto-scaling
1个回答
0
投票

ASG 的最小和最大尺寸是多少?可伸缩的 EC2 实例数量?

是的,没错

ECS 容量提供商的最小和最大扩展步长是多少?如果我将最大值设置为10,是否意味着可以同时横向扩展10个EC2实例?我需要设置这个吗?

这是 ECS 容量提供商的 ECS 托管扩展 设置的一部分。如果您启用了 ECS 托管扩展,那么这些设置基本上会覆盖 ASG 中的设置,并允许 ECS 直接控制 EC2 实例的扩展。这基本上允许 ECS 直接在 ASG 中设置“所需计数”设置。在大多数情况下,您希望启用托管扩展,因此您需要设置这些值。

在您的具体情况下,您肯定希望将这些值设置为

1

ECS服务弹性伸缩的最小和最大容量是多少?基于目标跟踪可以部署多少个ECS服务?

这是该服务可以部署的 ECS 任务的数量。

根据我的理解,如果 API 达到 70% cpu,则扩展到 2 个服务(仍然只需要一个 EC2 实例)。下一次扩展意味着新的 EC2 实例。第5个不行。这是正确的吗?

这对我来说看起来是正确的。


我想指出的是,如果您改用 Fargate 而不是 EC2,ASG 和容量提供程序就会消失,您将拥有一个更简单的配置。而且您只需为正在运行的容器/任务所需的资源付费,而不是在仅运行 1 个任务时为可支持 2 个任务的 EC2 实例付费。

© www.soinside.com 2019 - 2024. All rights reserved.