正确警告AWS EC

时间:2019-02-11 06:30:34

标签: amazon-web-services amazon-ecs autoscaling

现在,我正在构建AWS ECS基础架构。

要自动放大/缩小,我使用了自动调整功能。

我的系统在AWS ECS上运行(以部署docker-compose)

假设我们有1 cluster1 service2 ec2 instance

如果cpu利用率高达50%,我通过CloudWatch定义了失效策略。

要自动倾斜,我们必须将策略应用于ecs serviceautoscailing group

将cloudwatch策略附加到ecs service时,如果CPU利用率高达50%,它将自动增加task definition计数。

将cloudwatch策略附加到autoscailing group时,如果CPU利用率高达50%,它将自动增加ec2 instance计数。

经过测试,一切正常。

但是在我的service事件日志中,出现了这样的错误。

service v1 was unable to place a task because no container instance met all of its requirements. The closest matching container-instance 8bdf994d-9f73-42ec-8299-04b0c5e7fdd3 has insufficient memory available.

我认为是由于ec2实例故障之前启动了服务故障而发生的。 (因为服务故障(扩展/扩展任务定义)需要使用ec2实例才能运行)

但是效果很好。也许它会自动重试几次。 (我不确定)

我想知道,这是AWS ECS自动调速的正常配置吗?

或者,我的流程中有什么遗漏之处?

谢谢。

1 个答案:

答案 0 :(得分:0)

仅当可用的容器实例符合容器cpu /内存要求时,ECS才能调度服务。确保有可用空间以确保顺利进行自动缩放。

ec2-asg扩展应该在服务自动扩展之前进行,以确保容器实例可用于任务调度程序。