ApplicationTargetGroupProps

class aws_cdk.aws_elasticloadbalancingv2.ApplicationTargetGroupProps(*, deregistration_delay=None, health_check=None, target_group_name=None, target_type=None, vpc=None, load_balancing_algorithm_type=None, port=None, protocol=None, protocol_version=None, slow_start=None, stickiness_cookie_duration=None, stickiness_cookie_name=None, targets=None)

Bases: BaseTargetGroupProps

Properties for defining an Application Target Group.

Parameters:
  • deregistration_delay (Optional[Duration]) – The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300

  • health_check (Union[HealthCheck, Dict[str, Any], None]) – Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.

  • target_group_name (Optional[str]) – The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.

  • target_type (Optional[TargetType]) – The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.

  • vpc (Optional[IVpc]) – The virtual private cloud (VPC). only if TargetType is Ip or InstanceId Default: - undefined

  • load_balancing_algorithm_type (Optional[TargetGroupLoadBalancingAlgorithmType]) – The load balancing algorithm to select targets for routing requests. Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN

  • port (Union[int, float, None]) – The port on which the listener listens for requests. Default: - Determined from protocol if known, optional for Lambda targets.

  • protocol (Optional[ApplicationProtocol]) – The protocol to use. Default: - Determined from port if known, optional for Lambda targets.

  • protocol_version (Optional[ApplicationProtocolVersion]) – The protocol version to use. Default: ApplicationProtocolVersion.HTTP1

  • slow_start (Optional[Duration]) – The time period during which the load balancer sends a newly registered target a linearly increasing share of the traffic to the target group. The range is 30-900 seconds (15 minutes). Default: 0

  • stickiness_cookie_duration (Optional[Duration]) – The stickiness cookie expiration period. Setting this value enables load balancer stickiness. After this period, the cookie is considered stale. The minimum value is 1 second and the maximum value is 7 days (604800 seconds). Default: Duration.days(1)

  • stickiness_cookie_name (Optional[str]) – The name of an application-based stickiness cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they’re reserved for use by the load balancer. Note: stickinessCookieName parameter depends on the presence of stickinessCookieDuration parameter. If stickinessCookieDuration is not set, stickinessCookieName will be omitted. Default: - If stickinessCookieDuration is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.

  • targets (Optional[Sequence[IApplicationLoadBalancerTarget]]) – The targets to add to this target group. Can be Instance, IPAddress, or any self-registering load balancing target. If you use either Instance or IPAddress as targets, all target must be of the same type. Default: - No targets.

ExampleMetadata:

infused

Example:

# vpc: ec2.Vpc


# Target group with duration-based stickiness with load-balancer generated cookie
tg1 = elbv2.ApplicationTargetGroup(self, "TG1",
    target_type=elbv2.TargetType.INSTANCE,
    port=80,
    stickiness_cookie_duration=Duration.minutes(5),
    vpc=vpc
)

# Target group with application-based stickiness
tg2 = elbv2.ApplicationTargetGroup(self, "TG2",
    target_type=elbv2.TargetType.INSTANCE,
    port=80,
    stickiness_cookie_duration=Duration.minutes(5),
    stickiness_cookie_name="MyDeliciousCookie",
    vpc=vpc
)

Attributes

deregistration_delay

The amount of time for Elastic Load Balancing to wait before deregistering a target.

The range is 0-3600 seconds.

Default:

300

health_check

Health check configuration.

Default:
  • The default value for each property in this configuration varies depending on the target.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#aws-resource-elasticloadbalancingv2-targetgroup-properties

load_balancing_algorithm_type

The load balancing algorithm to select targets for routing requests.

Default:

TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN

port

The port on which the listener listens for requests.

Default:
  • Determined from protocol if known, optional for Lambda targets.

protocol

The protocol to use.

Default:
  • Determined from port if known, optional for Lambda targets.

protocol_version

The protocol version to use.

Default:

ApplicationProtocolVersion.HTTP1

slow_start

The time period during which the load balancer sends a newly registered target a linearly increasing share of the traffic to the target group.

The range is 30-900 seconds (15 minutes).

Default:

0

The stickiness cookie expiration period.

Setting this value enables load balancer stickiness.

After this period, the cookie is considered stale. The minimum value is 1 second and the maximum value is 7 days (604800 seconds).

Default:

Duration.days(1)

The name of an application-based stickiness cookie.

Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they’re reserved for use by the load balancer.

Note: stickinessCookieName parameter depends on the presence of stickinessCookieDuration parameter. If stickinessCookieDuration is not set, stickinessCookieName will be omitted.

Default:
  • If stickinessCookieDuration is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.

See:

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html

target_group_name

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

Default:
  • Automatically generated.

target_type

The type of targets registered to this TargetGroup, either IP or Instance.

All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically.

Default:
  • Determined automatically.

targets

The targets to add to this target group.

Can be Instance, IPAddress, or any self-registering load balancing target. If you use either Instance or IPAddress as targets, all target must be of the same type.

Default:
  • No targets.

vpc

The virtual private cloud (VPC).

only if TargetType is Ip or InstanceId

Default:
  • undefined