amazon-elastic-beanstalk - 通过 cloudformation 部署的 Elastic beanstalk 不会更新健康检查目标
问题描述
我有一个通过 CloudFormation 部署的 Elastic Beanstalk 环境。
目前它是 LoadBalancer 后面的单个 Web 服务器,但将来会通过 Auto Scaling 组扩展。
这是我的模板中的相关片段
"BeanstalkEnvironment": {
"Type": "AWS::ElasticBeanstalk::Environment",
"Properties": {
...
"OptionSettings": [
...
{
"Namespace": "aws:elasticbeanstalk:application",
"OptionName": "Application Healthcheck URL",
"Value": "/health"
},
{
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "EnvironmentType",
"Value": "LoadBalanced"
},
{
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "LoadBalancerType",
"Value": "application"
},
{
"Namespace": "aws:elbv2:listener:default",
"OptionName": "ListenerEnabled",
"Value": "true"
},
{
"Namespace": "aws:elbv2:listener:443",
"OptionName": "ListenerEnabled",
"Value": "true"
},
{
"Namespace": "aws:elbv2:listener:443",
"OptionName": "Protocol",
"Value": "HTTPS"
},
{
"Namespace": "aws:elbv2:listener:443",
"OptionName": "SSLCertificateArns",
"Value": {"Ref": "Certificate"}
},
{
"Namespace": "aws:autoscaling:asg",
"OptionName": "MinSize",
"Value": "1"
},
{
"Namespace": "aws:autoscaling:asg",
"OptionName": "MaxSize",
"Value": "1"
}
...
],
"SolutionStackName": "64bit Amazon Linux 2 v3.0.3 running PHP 7.4",
...
}
}
}
负载均衡器目标组仍/
用作运行状况检查的路径。由于我的 Web 服务器重定向/
运行状况检查失败,因为它没有获得所需的 200 状态代码。
如果我手动将目标路径更改为,/health
则运行状况检查将按预期工作。
我缺少什么配置才能将运行状况检查路径设置为环境的 CloudFormation 模板的一部分?
解决方案
我认为此设置aws:elasticbeanstalk:application
适用于经典负载均衡器 (CLB)。
但是,由于您使用的是ALB(应用程序负载均衡器),因此您应该使用aws:elasticbeanstalk:environment:process:default。
此选项允许您设置(除其他外):
- HealthCheckPath:将 HTTP 请求发送到的路径以进行健康检查。
- MatcherHTTPCode:以逗号分隔的HTTP 代码列表,指示实例运行状况良好。
推荐阅读
- python - 使用 Keras 和 Tensorflow 的自定义层
- css - SharePoint - 具有 RTF 格式的 CSS 列
- spring - 我在创建产品时遇到了一个错误,当它显示类别类型时,它给了我一个文件的位置
- python - 在opencv python中绘制多边形的问题
- mysql - SQL 在全名中搜索姓氏
- python - 如何使用 Beautiful Soup 有效地抓取多个页面?
- ios - 通过应用商店获取带有深度链接 url 的参考代码
- csv - 在 Jmeter 中是否有可能基于当前的 csv 行我可以决定调用哪个端点?
- javascript - 防止 Swiper Slide 在点击事件上移动
- api - 从 stat group telegram api 的响应中制作图表