You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动