【问题标题】:Autoscaled web service running on EC2: use Auto Scaling Launch Config with custom AMI or use ECS?在 EC2 上运行的自动缩放 Web 服务:将 Auto Scaling 启动配置与自定义 AMI 一起使用还是使用 ECS?
【发布时间】:2017-10-17 14:24:37
【问题描述】:

在我看来,有两种替代方法可以在 ELB 后面的 EC2 实例上运行自动缩放的 Web 服务:

1) 创建一个 Auto Scaling 启动配置,指定我的自定义 AMI 的映像 ID(以及要使用的实例类型)。然后,当触发 Auto Scaling 触发器时,它会使用该 AMI 启动新的 EC2 实例。

2) 改用 ELB 和 ECS,因为 ECS 似乎有自己的 Auto Scaling 功能。

什么情况下使用ECS比较好?

【问题讨论】:

    标签: amazon-ec2 amazon-elb amazon-ecs


    【解决方案1】:

    这两个选项并不相互排斥。首先要回答您的最后一个问题,您在运行容器化应用程序时使用 ECS。您可以使用 ECS 中的Service AutoScaling 服务扩展这些应用程序。当您处理传入请求的资源不足时,这将帮助您启动额外的容器。

    这与使用启动配置扩展 EC2 实例不同。当您用完资源时,您需要额外的实例才能在 ECS 集群中启动新容器。顺便说一句,您应该始终使用启动配置,以便在绑定到您的 ECS 集群的 AutoScaling 组中引入新的 EC2 实例,因为它使一切变得容易得多。参见例如this tutorial

    至于 ELB,在 ECS 中你实际上最好使用ALB。在容器化应用程序中,您需要将它们暴露的端口映射到主机中的随机端口。这使得使用负载平衡的注册变得更加复杂。但是,ALB 与 ECS 集成,因此,每当您启动新任务时,运行该任务的 ECS 服务都会请求将该任务注册为 ALB 的目标(有关更详细的说明,请参阅this link)。它代表您处理一切。

    【讨论】:

    • 感谢您很好地解释了不同的用例。
    • 那么第一个问题呢?
    猜你喜欢
    • 2016-05-13
    • 2012-05-08
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    相关资源
    最近更新 更多