AWS Instance Scheduler调度问题求助:跨天周期设置报错
解决AWS Instance Scheduler跨天周期配置报错的问题
嘿,这个问题我太熟了!你遇到的报错是因为AWS Instance Scheduler的单个周期规则有个硬限制:begin时间必须早于end时间,而你想设置的“8点启动、次日2点关闭”属于跨午夜的时段,单个周期肯定满足不了,拆成两个独立的周期来配置就行。
具体解决步骤
核心思路是把跨天的运行时段拆成两个不跨午夜的周期,组合起来实现你要的效果:
创建第一个周期(工作日白天到深夜)
- 周期名称:比如
weekday-run-daytime - 时间范围:
08:00到23:59 - 重复日期:周一、周二、周三、周四、周五
- 注意:一定要统一时区(比如你业务所在的本地时区,或者UTC,别混着用)
- 周期名称:比如
创建第二个周期(工作日凌晨到2点)
- 周期名称:比如
weekday-run-earlymorning - 时间范围:
00:00到02:00 - 重复日期:周二、周三、周四、周五、周六
- 时区和第一个周期保持一致
- 周期名称:比如
关联到调度计划
创建一个新的调度计划,把上面两个周期都添加进去,然后给需要调度的EC2实例打上对应的标签(比如Schedule=your-custom-schedule),Instance Scheduler就会自动按照规则执行:- 周一8点启动实例,一直运行到当天23:59
- 周二00:00到02:00继续保持运行,02:00后自动停止
- 周二8点再次启动,重复这个循环,直到周六02:00停止后,周末就保持关闭状态
额外提示
如果用CloudFormation或者CLI配置,周期的定义大概是这样的(JSON格式示例):
{ "weekday-run-daytime": { "begintime": "08:00", "endtime": "23:59", "weekdays": ["mon", "tue", "wed", "thu", "fri"] }, "weekday-run-earlymorning": { "begintime": "00:00", "endtime": "02:00", "weekdays": ["tue", "wed", "thu", "fri", "sat"] } }
记得提前确认时区设置,要是用UTC的话,得把你的本地时间转换成UTC时间,避免出现调度时间错位的情况哦。
内容的提问来源于stack exchange,提问作者hhh0505
相关产品推荐
相关产品推荐

