Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在AWS CloudFormation模板中的Elastic Beanstalk实例上设置运行状况检查URL?_Amazon Web Services_Amazon Cloudformation - Fatal编程技术网

Amazon web services 如何在AWS CloudFormation模板中的Elastic Beanstalk实例上设置运行状况检查URL?

Amazon web services 如何在AWS CloudFormation模板中的Elastic Beanstalk实例上设置运行状况检查URL?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有一个CloudFormation模板,可以启动弹性Beanstalk服务。我想在模板中将健康检查URL设置为/health JSON中的约定是什么 您需要设置AWS::ElasticBeanstalk::Environment的选项设置属性: 例如: { "Type" : "AWS::ElasticBeanstalk::Environment", "Properties" : { "ApplicationName" : { "Ref" : "sampleApplica

我有一个CloudFormation模板,可以启动弹性Beanstalk服务。我想在模板中将健康检查URL设置为
/health


JSON中的约定是什么

您需要设置AWS::ElasticBeanstalk::Environment的
选项设置
属性:

例如:

{
   "Type" : "AWS::ElasticBeanstalk::Environment",
   "Properties" : {
      "ApplicationName" : { "Ref" : "sampleApplication" },
      "Description" :  "AWS Elastic Beanstalk Environment running PHP Sample Application",
      "VersionLabel" : "Initial Version",
      "OptionSettings" : [ 
            {
               "Namespace" : "elasticbeanstalk:application",
               "OptionName" : "Application Healthcheck URL",
               "Value" : "/health"
            }         
      ],      
      "TemplateName" : "DefaultConfiguration",
   }
}    
在此示例中,选项
应用程序健康检查URL
设置为
/health

有关更多信息,请参阅:


  • 罗德里戈的回答很好,但不完整

    您还需要将health\u check\u类型修改为ELB,否则,当您的web应用程序进程崩溃时,但是您的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
    
    

    这还不够,我已经做了相当一段时间了,只是受到了伤害。它会在LB上添加运行状况检查,是的,但不会在单个实例上添加。因此实例仍将报告为健康,不会被踢出健康检查url的目的是检查每个实例,如果它们没有响应,则将其从ELB中删除。你看到了不同的行为吗?有关更多信息,请参阅。如果HealthCheckType设置为EC2而不是ELB,则不会从ELB中删除它们…警告:它仅适用于经典负载平衡器。对于应用程序负载平衡器,选项_name应用程序Healthcheck URL不起作用,必须使用进程ALB HealthCheckPath。看到或