我们使用Beanstalk来部署节点应用程序。效果很好。我在.ebextensions目录中创建了几个配置文件,以便在我们加载它们时将配置信息应用到我们的应用程序。再次大多运作良好。我有一件事没有,那就是定义应用程序运行状况检查URL。我不能让它去。关于它的一个奇怪的事情,它似乎只是我到目前为止遇到的参数,其中有空格,我想知道这一点。我已经尝试将值括在引号中,只是为了查看是否存在问题,但它仍然无法正常工作。有没有人以前做过这个,并且可以告诉我它是否有效,以及是否有关于此的语法不正确?正如我所说,其余的参数在beanstalk中正确设置,只是最后一个没有。注意在部署之前,#environment#将被替换为grunt脚本。
这是配置文件:
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: NODE_ENV
value: #environment#
- namespace: aws:elasticbeanstalk:container:nodejs
option_name: NodeVersion
value: 0.10.10
- namespace: aws:autoscaling:trigger
option_name: LowerThreshold
value: 40
- namespace: aws:autoscaling:trigger
option_name: MeasureName
value: CPUUtilization
- namespace: aws:autoscaling:trigger
option_name: UpperThreshold
value: 60
- namespace: aws:autoscaling:trigger
option_name: Unit
value: Percent
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: /load_balance_test
答案 0 :(得分:0)
我使用CloudFormation for EB,而在CF中,该参数的语法非常奇怪。如果该配置文件与CF的工作方式相同,则以下字符串应该适用于您:
HTTP:80/load_balance_test
答案 1 :(得分:0)
如果你正在使用Terraform,那么请确保name
中有空格,它会正常工作:
setting {
namespace = "aws:elasticbeanstalk:application"
name = "Application Healthcheck URL"
value = "/api/health"
}
答案 2 :(得分:0)
此属性名称中的空格很奇怪,但是当与选项的替代速记语法一起使用时,它可以工作:
option_settings:
aws:elasticbeanstalk:application:
Application Healthcheck URL: /
答案 3 :(得分:0)
我刚刚尝试过。它为我工作。只有原始问题中指定的格式对我有效,即
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: /api/v1/health/
答案 4 :(得分:0)
添加此内容对我有用:
# .ebextensions/healthcheckurl.config
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: /health
- namespace: aws:elasticbeanstalk:environment:process:default
option_name: HealthCheckPath
value: /health
enter code here
我通过执行eb config
发现了第二个设置,它很好地概述了可以用option_settings
文件中的.ebextensions/yet-another.config
覆盖的环境设置。
答案 5 :(得分:0)
您还可能希望将health_check_type设置为ELB,而不是默认的EC2。 这就是我的配置方式
$ cat .ebextensions/0090_healthcheckurl.config
Resources:
AWSEBAutoScalingGroup:
Type: "AWS::AutoScaling::AutoScalingGroup"
Properties:
HealthCheckType: "ELB"
HealthCheckGracePeriod: "600"
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: /_status