使用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 個月前檢視次數 27 次
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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南