CloudFormation部署Elastic Beanstalk健康检查路径不生效问题咨询
解决Elastic Beanstalk负载均衡器目标组健康检查路径配置问题
你遇到的核心问题是:Beanstalk应用层的健康检查URL与负载均衡器目标组的健康检查路径是两个独立的配置项。你已经在模板中设置了前者(aws:elasticbeanstalk:application命名空间下的Application Healthcheck URL),但后者未定义,导致负载均衡器默认使用/作为健康检查路径,触发重定向后健康检查失败。
要通过CloudFormation模板直接配置负载均衡器目标组的健康检查路径,需要添加对应命名空间的配置项:
需要补充的配置片段
在你的OptionSettings数组中插入以下配置:
{ "Namespace": "aws:elasticbeanstalk:environment:process:default", "OptionName": "HealthCheckPath", "Value": "/health" }
整合后的完整配置示例
将新增配置插入到现有模板的对应位置,示例如下:
"BeanstalkEnvironment": { "Type": "AWS::ElasticBeanstalk::Environment", "Properties": { ... "OptionSettings": [ ... { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" }, // 新增:配置负载均衡器目标组的健康检查路径 { "Namespace": "aws:elasticbeanstalk:environment:process:default", "OptionName": "HealthCheckPath", "Value": "/health" }, { "Namespace": "aws:elasticbeanstalk:environment", "OptionName": "EnvironmentType", "Value": "LoadBalanced" }, ... // 其余现有配置项 ], "SolutionStackName": "64bit Amazon Linux 2 v3.0.3 running PHP 7.4", ... } }
关键说明
aws:elasticbeanstalk:application下的配置是给Beanstalk自身的健康监控服务使用,用于检测实例应用的运行状态;aws:elasticbeanstalk:environment:process:default下的HealthCheckPath才是直接作用于负载均衡器目标组的健康检查路径配置,这正是解决你当前问题的核心;- 后续扩展到自动扩缩容组架构时,该配置会自动应用到新创建的实例目标组,无需手动修改。
内容的提问来源于stack exchange,提问作者morras




