使用AWS FARGATE_SPOT作为备用选项

0

【以下的问题经过翻译处理】 客户想要使用默认的ECS容量提供者FARGATE和FARGATE_SPOT,但对默认行为不满意。具体来说,当使用多个ECS提供者和权重时,ECS“desired_count”没有被遵守。

例如:

配置具有以下默认提供者的ECS集群:

FARGATE_SPOT 基础=0 权重=50

FARGATE 基础=0 权重=50

如果我们运行使用默认提供者的服务,如果FARGATE_SPOT容量不可用,ECS将不使用可用的FARGATE容量来遵守desired_count。该服务将只运行5个任务。

有人是否遇到其他客户的此问题,是否有好的解决方法?

profile picture
专家
已提问 5 个月前23 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果我理解正确的话,这与混合on-demand和spot容量的Auto Scaling组显示的行为类似:即使你用完了Spot,fleet中的OD部分也不会超过指定份额(可以通过设置非常低的Spot价格限制轻松测试这一点)。

一个可能的解决方法是在Fargate中运行一个备份服务,初始的desired tasks = 0。然后,使用Lambda函数监视主服务是否运行所有任务,方法是使用1)定期的CloudWatch事件或2)当任务停止时,使用ECS发出的EventBridge事件进行响应。然后根据需要调整备份服务。

这是有关如何处理Fargate Spot终止通知的信息:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html#fargate-capacity-providers-termination

可能还有其他的方法,但我认为以上方法可行。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则