首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每天在特定时间扩展AWS ECS Fargate

每天在特定时间扩展AWS ECS Fargate
EN

Stack Overflow用户
提问于 2021-09-30 18:13:17
回答 2查看 380关注 0票数 2

我有一个ECS Fargate服务设置,这需要扩展到2个额外的工作时间的任务,即上午9点到下午5点,否则我只需要一个任务运行。

我已经尝试了Scheduled tasks,但是我不能使用我的原始ECS服务和我使用的“应用程序负载均衡器”。

我还尝试了ECS Service Auto scaling--使用自定义CloudWatch警报的‘Step scaling’。但是我不知道有什么简单的方法来创建一个在特定时间触发的警报,因为ECS Step scaling不接受EventBridge规则。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-30 18:46:42

您可以使用定时伸缩:

代码语言:javascript
复制
aws application-autoscaling put-scheduled-action --service-namespace ecs \
    --scalable-dimension ecs:service:DesiredCount \
    --resource-id service/${CLUSTER_NAME}/${SERVICE_NAME} \
    --scheduled-action-name ${DESIRED_ACTION_NAME} \
    --schedule "cron(cron-expression-to-add-here)" \ 
    --scalable-target-action MinCapacity=${MIN_CAPACITY_NEEDED_AT_DESIRED_TIME},MaxCapacity=${MAX_CAPACITY_NEEDED_AT_DESIRED_TIME}

您可以了解有关put-scheduled-action here的更多信息

票数 4
EN

Stack Overflow用户

发布于 2021-09-30 18:32:01

计划任务将不起作用,因为这些任务不是您服务的一部分。ECS计划任务适用于自行运行和退出的计划后台任务,而不适用于将无限期运行的服务。

ECS Service Auto Scaling是用于此目的的正确功能。不幸的是,web界面滞后于服务的实际功能,并且不允许您在此时配置计划的伸缩事件。

您目前必须使用类似于AWS CLI工具的工具来通过API进行配置。您将需要创建一个引用您的ECS服务的DesiredCount设置的AWS应用程序自动缩放目标。然后,您将需要创建多个AWS应用程序自动缩放计划操作,以更改cron计划中的最小/最大容量值。

我在使用Terraform之前已经做到了这一点,所以我知道这是可能的。我强烈建议使用Terraform来配置它,以及您的基础设施的其余部分。在设置ECS计划的自动缩放时,据我所知,配置不会出现在AWS web界面中的任何地方。目前,ECS和应用程序自动缩放web界面中似乎都完全缺少该功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69397082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档