You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Auto Scaling Group是否支持设置每月第一个周日扩容的定时策略?

实现方案说明

你需要的「每月第一个周日调整ASG最小值」的需求完全可以通过AWS CloudWatch相关能力实现,不需要依赖ASG自带的Scheduled actions功能,具体操作如下:

核心逻辑

用Amazon EventBridge(原CloudWatch Events,属于CloudWatch服务矩阵)的自定义cron定时规则触发ASG配置更新,即可实现每月首个周日的定时调整需求。

具体操作步骤

  • 第一步:配置权限
    提前创建IAM角色,授予对应服务调整ASG配置的权限,所需权限动作包含autoscaling:UpdateAutoScalingGroup,关联的资源为你需要调整的目标ASG的ARN。
  • 第二步:配置定时触发规则
    进入EventBridge控制台创建新规则,触发类型选择「Schedule」,定时模式选择cron表达式,匹配每月第一个周日的cron表达式参考如下(按UTC时间配置):
    0 0 12 ? * SUN#1 *
    表达式中SUN#1代表每月第一个周日,你可以根据你业务的时区、需要触发的具体时间调整前几位的秒、小时、日期数值,注意需要将业务时区的时间转换为UTC时间填写。
  • 第三步:配置触发目标
    两种可选配置,按需选择即可:
    • 无代码方案:目标类型选择「AWS API call」,服务选择「Auto Scaling」,操作选择「UpdateAutoScalingGroup」,按提示填写目标ASG名称、要调整的MinSize、DesiredCapacity数值即可。
    • 灵活扩展方案:先创建一个Lambda函数,代码中调用ASG的更新接口(Python示例代码参考如下),然后将EventBridge规则的目标设置为该Lambda函数,适合需要额外逻辑判断的场景。
    import boto3
    
    client = boto3.client('autoscaling')
    
    def lambda_handler(event, context):
        response = client.update_auto_scaling_group(
            AutoScalingGroupName='你的ASG名称',
            MinSize=你要上调的最小值,
            DesiredCapacity=你要设置的期望实例数
        )
        return response
    
  • 第四步:配置回退规则(可选)
    如果高峰过后需要将ASG最小值调回原有数值,重复上述步骤,新增一条对应时间的EventBridge规则,触发更新ASG配置为原数值即可。

注意事项

  • 建议将触发时间设置为业务高峰到来前15~30分钟,预留足够的EC2实例启动、初始化、注册到负载均衡的时间,避免影响业务可用性。
  • 配置完成后可先手动触发一次规则,验证ASG配置是否可以正常更新、实例启动是否符合预期。

内容的提问来源于stack exchange,提问作者Cyril N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:06:06