在我看来,有两种方法可以在ELB背后的EC2实例上运行自动调整的Web服务:
1)创建Auto Scaling启动配置,指定我的自定义AMI(以及要使用的实例类型)的图像ID。然后,当触发Auto Scaling触发器时,它将使用该AMI简单地启动新的EC2实例。
2)使用ELB和ECS,因为ECS似乎有自己的Auto Scaling功能。
在什么情况下使用ECS更好?
答案 0 :(得分:1)
这两个选项并不相互排斥。要首先回答您的上一个问题,请在运行容器化应用程序时使用ECS。您可以使用ECS中的Service AutoScaling服务来扩展这些应用程序。当您缺少资源来参与传入请求时,这将帮助您启动其他容器。
这与使用启动配置扩展EC2实例不同。当资源不足以便在ECS集群中启动新容器时,您将需要其他实例。顺便说一句,您应该始终使用启动配置,以便在绑定到ECS群集的AutoScaling组中引入新的EC2实例,因为它使一切变得更加容易。请参阅示例this tutorial。
至于ELB,在ECS中你最好使用ALB。在容器化应用程序中,您需要将其公开的端口映射到主机中的随机端口。这使得负载平衡的注册变得更加复杂。但是,ALB与ECS集成,因此,无论何时启动新任务,运行任务的ECS服务都会请求将任务注册为ALB的目标(有关详细说明,请参阅this link)。它会代表您处理所有事情。