使用 ALB 创建 ElasticBeanstalk 应用程序时覆盖 HealthCheckPort
Posted
技术标签:
【中文标题】使用 ALB 创建 ElasticBeanstalk 应用程序时覆盖 HealthCheckPort【英文标题】:Overwrite HealthCheckPort while creating ElasticBeanstalk application with ALB 【发布时间】:2021-06-03 12:07:22 【问题描述】:我正在使用 Cloudformation
使用 Application Load Balancer 创建 AWS ElasticBeanstalk
。
侦听器位于端口443
。
应用程序有两个端口8081
(默认)和50050
(健康检查)
我想TargetGroup
使用端口50050
和端点/health
进行健康检查。
查看 elbv2 的 AWS 文档,我不知道如何真正让它使用我的自定义端口 50050
进行健康检查。我可以指定HealthCheckPath
,但不能指定端口。
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-environmentprocess
我可以通过 AWS 控制台轻松更改 HealthCheckPort,但如何通过 Cloudformation json 进行更改?
【问题讨论】:
【参考方案1】:您可以在AWS::ElasticBeanstalk::Environment 中提供这些选项。更具体地说,您必须使用AWS::ElasticBeanstalk::Environment OptionSetting。
Json 示例,用于HealthCheckPath
:
"Type" : "AWS::ElasticBeanstalk::Environment",
"Properties" :
"ApplicationName" : "Ref" : "sampleApplication" ,
"Description" : "AWS Elastic Beanstalk Environment running Python Sample Application",
"EnvironmentName" : "SamplePythonEnvironment",
"SolutionStackName" : "64bit Amazon Linux 2017.03 v2.5.0 running Python 2.7",
"OptionSettings" : [
"Namespace" : "aws:elasticbeanstalk:environment:process:default",
"OptionName" : "HealthCheckPath",
"Value" : "/health"
],
"VersionLabel" : "Initial Version"
【讨论】:
这就是我正在做的。我能够通过 HealthCheckPath 但端口呢? @tefozi 检查here. 在这里发现了同样的问题,但没有好的解决方案 - serverfault.com/questions/837088/…以上是关于使用 ALB 创建 ElasticBeanstalk 应用程序时覆盖 HealthCheckPort的主要内容,如果未能解决你的问题,请参考以下文章
如何创建到 ALB 的 Route 53 记录? (AWS)
如何使用 kubernetes_ingress terraform 资源创建 AWS ALB?
Terraform AWS EKS ALB Kubernetes Ingress 不会创建侦听器或目标组