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