HealthCheck

class aws_cdk.aws_elasticloadbalancingv2.HealthCheck(*, enabled=None, healthy_grpc_codes=None, healthy_http_codes=None, healthy_threshold_count=None, interval=None, path=None, port=None, protocol=None, timeout=None, unhealthy_threshold_count=None)

Bases: object

Properties for configuring a health check.

Parameters:
  • enabled (Optional[bool]) – Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.

  • healthy_grpc_codes (Optional[str]) – GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, “0,1”) or a range of values (for example, “0-5”). Default: - 12

  • healthy_http_codes (Optional[str]) – HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, “200,202”) or a range of values (for example, “200-299”).

  • healthy_threshold_count (Union[int, float, None]) – The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs

  • interval (Optional[Duration]) – The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: 10 seconds if protocol is GENEVE, 35 seconds if target type is lambda, else 30 seconds

  • path (Optional[str]) – The ping path destination where Elastic Load Balancing sends health check requests. Default: /

  • port (Optional[str]) – The port that the load balancer uses when performing health checks on the targets. Default: ‘traffic-port’

  • protocol (Optional[Protocol]) – The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: HTTP for ALBs, TCP for NLBs

  • timeout (Optional[Duration]) – The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: 6 seconds if the protocol is HTTP, 5 seconds if protocol is GENEVE, 30 seconds if target type is lambda, 10 seconds for TCP, TLS, or HTTPS

  • unhealthy_threshold_count (Union[int, float, None]) – The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. Default: 2

ExampleMetadata:

infused

Example:

# cluster: ecs.Cluster

load_balanced_fargate_service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "Service",
    cluster=cluster,
    memory_limit_mi_b=1024,
    cpu=512,
    task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
        image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
        command=["command"],
        entry_point=["entry", "point"]
    )
)

load_balanced_fargate_service.target_group.configure_health_check(
    path="/custom-health-path"
)

Attributes

enabled

Indicates whether health checks are enabled.

If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled.

Default:
  • Determined automatically.

healthy_grpc_codes

GRPC code to use when checking for a successful response from a target.

You can specify values between 0 and 99. You can specify multiple values (for example, “0,1”) or a range of values (for example, “0-5”).

Default:
  • 12

healthy_http_codes

HTTP code to use when checking for a successful response from a target.

For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, “200,202”) or a range of values (for example, “200-299”).

healthy_threshold_count

The number of consecutive health checks successes required before considering an unhealthy target healthy.

For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.

Default:

5 for ALBs, 3 for NLBs

interval

The approximate number of seconds between health checks for an individual target.

Must be 5 to 300 seconds

Default:

10 seconds if protocol is GENEVE, 35 seconds if target type is lambda, else 30 seconds

path

The ping path destination where Elastic Load Balancing sends health check requests.

Default:

/

port

The port that the load balancer uses when performing health checks on the targets.

Default:

‘traffic-port’

protocol

The protocol the load balancer uses when performing health checks on targets.

The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

Default:

HTTP for ALBs, TCP for NLBs

timeout

The amount of time, in seconds, during which no response from a target means a failed health check.

Must be 2 to 120 seconds.

Default:

6 seconds if the protocol is HTTP, 5 seconds if protocol is GENEVE, 30 seconds if target type is lambda, 10 seconds for TCP, TLS, or HTTPS

unhealthy_threshold_count

The number of consecutive health check failures required before considering a target unhealthy.

For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count.

Default:

2