在每天的特定时间上下扩展 AWS ECS Fargate

Ket*_*ari 8 amazon-web-services amazon-ecs amazon-cloudwatch

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

我已经尝试过计划任务,但随后我无法将原来的 ECS 服务与“应用程序负载均衡器”一起使用。

我还尝试了 ECS 服务自动扩展 - 使用自定义 CloudWatch 警报进行“逐步扩展”。但我不知道有什么简单的方法来创建在特定时间触发的警报,因为 ECS 步骤扩展不接受 EventBridge 规则。

小智 10

您可以使用计划缩放:

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}
Run Code Online (Sandbox Code Playgroud)

您可以在这里了解更多信息put-scheduled-action