AWS ECS 集群自动扩展与服务自动扩展

Zoe*_*dia 7 amazon-web-services amazon-ecs aws-auto-scaling

这是我第一次使用亚马逊ecs服务。

我在网上搜索了一段时间以了解 ecs 服务的自动缩放。

我发现有两个选项可以自动扩展我的应用程序。但是,有一些我不明白。

首先是服务自动缩放,它跟踪来自cloudWatch的CPU/内存指标并相应地增加任务数量。

其次是集群弹性伸缩,需要创建弹性伸缩资源、创建容量提供者等。但是,在教程:使用集群自动伸缩中,它可以在没有服务的情况下运行任务定义。但最终似乎也增加了任务数量。

那么它们之间有什么不同和“优缺点”呢?

Bal*_*ala 10

我将尝试简要解释一下。

  • 任务是一个正在运行我们的代码(来自 docker 镜像)的容器。
  • 作为服务,确保没有维护给定的任务。
  • 我们将在 EC2 或 Fargate 支持的 ECS 中运行这些服务。EC2 是我们管理的机器。Fargate是由 AWS 管理的机器。

扩展:最终,我们将根据 CPU 或单个任务的任何其他指标,通过在最小任务和最大任务之间设置所需的任务数量来扩展任务。这称为服务自动缩放。

  • Fargate:由于 AWS 将在幕后管理必要的虚拟机,因此我们可以设置任何我们想要的任务并无缝扩展,而无需担心任何基础设施。
  • EC2:我们无法无缝扩展服务,因为我们还需要在幕后添加/删除 EC2 实例。我们还需要根据 cpu 或 Ec2 机器的任何其他指标自动扩展这些实例,这称为集群扩展。

  • 是的。100%正确。此外,除非我们需要控制运行容器的 EC2 实例,否则我们会选择 Fargate,而 Fargate 最适合大多数用例。 (4认同)
  • 谢谢你的解释。这意味着如果 Fargate 用于服务/任务,则只需要服务扩展,AWS 将处理其余的事情。集群扩展仅适用于 ec2 类型,不适用于 Fargate 类型。是吗? (2认同)