【问题标题】:AWS ECS cluster auto-scaling vs service auto-scalingAWS ECS 集群自动扩展与服务自动扩展
【发布时间】:2021-04-22 17:22:50
【问题描述】:

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

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

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

首先是服务自动扩展,它从 cloudWatch 跟踪 cpu/内存指标并相应地增加任务数量。

其次是集群伸缩,需要创建伸缩资源,创建容量提供者等。但是,在Tutorial: Using cluster auto scaling 中,它可以在没有服务的情况下运行任务定义。但最终似乎也增加了任务数。

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

【问题讨论】:

    标签: amazon-web-services amazon-ecs aws-auto-scaling


    【解决方案1】:

    我会尽量简单解释一下。

    • Task 是一个运行我们代码的容器(来自 docker 镜像)。
    • Service 确保维持给定的所需任务数量。
    • 我们将在由 EC2 或 Fargate 支持的 ECS 中运行这些服务。 Ec2 是我们管理的机器。 Fargate 是由 AWS 管理的机器。

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

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

    【讨论】:

    • 感谢您的解释。这意味着如果 Fargate 用于服务/任务,则只需要扩展服务,其余的将由 aws 处理。集群扩展仅适用于 ec2 类型,不适用于 Fargate 类型。是吗?
    • 是的。 100% 正确。此外,除非我们需要控制运行容器的 EC2 实例,否则我们会选择 Fargate,而 Fargate 最适合大多数用例。
    猜你喜欢
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 2021-09-17
    • 1970-01-01
    • 2021-07-14
    • 2017-02-28
    • 1970-01-01
    相关资源
    最近更新 更多