ecs健康检查问题


当健康检查设置为七层http时,在cf中可以设置lb层面的健康检查

Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
Properties:
      HealthCheckIntervalSeconds: 180
      HealthCheckPath: /health
      HealthCheckProtocol: HTTP
      HealthCheckTimeoutSeconds: 5
      HealthyThresholdCount: 5

而当健康检查为4层tcp时,不能设置lb层面的健康检查,是默认的

cf中的只需要写健康检查协议为tcp

Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      HealthCheckProtocol: TCP

但是无论http还是tcp都可以设置容器层面的健康检查,需要设置优雅健康检查宽限期,单位为s。设置这个宽限期指的是在最大300s内需要完成lb健康检查状态成功,否则将重启容器。

Type: 'AWS::ECS::Service
    HealthCheckGracePeriodSeconds: 300