AWS Elastic Beanstalk部署报错:Template无数值型EvaluationPeriods设置
问题根因
错误触发的核心原因是options.config配置文件中,aws:autoscaling:trigger命名空间下的EvaluationPeriods参数被声明为字符串类型(值被单引号包裹为'1'),而Elastic Beanstalk底层的CloudFormation模板要求该参数必须为数值类型,因此部署时校验不通过。
你自定义的SQS队列长度扩缩容告警虽然已经覆盖了默认的弹性伸缩告警逻辑,但默认的ASG触发规则校验依然会执行,所以该配置项的类型错误依然会阻断部署。
解决步骤
- 打开
.ebextensions/options.config文件,定位到aws:autoscaling:trigger配置块,去掉EvaluationPeriods值的引号,修改为数值类型:
aws:autoscaling:trigger: EvaluationPeriods: 1
- 同步检查同配置块下的其他数值类参数(如
Period、Threshold等,如果你后续有添加的话),确保所有数值类型的配置都不要用引号包裹,避免同类校验错误。 - 重新打包应用代码执行部署即可。
如果需要完全避免环境创建时的默认配置优先级高于ebextensions配置的问题,你可以在worker-scaling.config的Resources块中新增ASG触发规则的覆盖配置,确保所有弹性伸缩相关逻辑都由代码仓库统一管控。
内容的提问来源于stack exchange,提问作者Ollie
相关产品推荐
相关产品推荐

