使用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
EXPERT
asked 5 months ago27 views
1 Answer
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
EXPERT
answered 5 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions