簡體   English   中英

如何在 AWS CloudFormation 模板中的 Elastic Beanstalk 實例上設置運行狀況檢查 URL?

[英]How do I set the health-check URL on an Elastic Beanstalk instance in a AWS CloudFormation template?

我有一個啟動 Elastic Beanstalk 服務的 CloudFormation 模板。 我想在模板中將健康檢查 URL 設置為/health

JSON 中的約定是什么?

您需要設置AWS::ElasticBeanstalk::EnvironmentOptionSettings屬性:

例如:

{
   "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",
   }
}    

在此示例中,選項Application Healthcheck URL設置為/health

有關更多信息,請參閱:

  1. AWS::ElasticBeanstalk::環境
  2. 配置選項
  3. 配置選項設置

羅德里戈的回答很好但不完整。

您還需要將 health_check_type 修改為 ELB,否則,當您的 Web 應用程序進程崩潰但您的 EC2 保持健康時,節點將不會被替換。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environmentconfig-autoscaling-healthchecktype.html

這是我使用的格式

$ 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

我在 .ebextension 目錄下添加了以下配置

例子:

option_settings:
  AWSEBV2LoadBalancerTargetGroup.aws:elasticbeanstalk:environment:process:default:
    HealthCheckPath: /health

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM