AWS Fundamentals Logo
AWS Fundamentals
L2 Construct

ApplicationTargetGroup

Define an Application Target Group.

Import

import { ApplicationTargetGroup } from 'aws-cdk-lib/aws-elasticloadbalancingv2';

Or use the module namespace:

import * as elasticloadbalancingv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
// elasticloadbalancingv2.ApplicationTargetGroup

Properties

Configuration passed to the constructor as ApplicationTargetGroupProps.

enableAnomalyMitigationOptional
boolean

Indicates whether anomaly mitigation is enabled. Only available when `loadBalancingAlgorithmType` is `TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`

Default: false

loadBalancingAlgorithmTypeOptional
TargetGroupLoadBalancingAlgorithmType

The load balancing algorithm to select targets for routing requests.

Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN

multiValueHeadersEnabledOptional
boolean

Indicates whether the target group supports multi-value headers. If the value is true, the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applicable for Lambda targets.

Default: false

portOptional
number

The port on which the target receives traffic. This is not applicable for Lambda targets.

Default: - Determined from protocol if known

protocolOptional
ApplicationProtocol

The protocol used for communication with the target. This is not applicable for Lambda targets.

Default: - Determined from port if known

protocolVersionOptional
ApplicationProtocolVersion

The protocol version to use.

Default: ApplicationProtocolVersion.HTTP1

slowStartOptional
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

stickinessCookieDurationOptional
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: - Stickiness is disabled

stickinessCookieNameOptional
string

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.

targetsOptional
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.

8 properties inherited from BaseTargetGroupProps
crossZoneEnabledOptionalinherited from BaseTargetGroupProps
boolean

Indicates whether cross zone load balancing is enabled.

Default: - use load balancer configuration

deregistrationDelayOptionalinherited from BaseTargetGroupProps
Duration

The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds.

Default: 300

healthCheckOptionalinherited from BaseTargetGroupProps
HealthCheck

Health check configuration.

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

ipAddressTypeOptionalinherited from BaseTargetGroupProps
TargetGroupIpAddressType

The type of IP addresses of the targets registered with the target group.

Default: undefined - ELB defaults to IPv4

targetGroupHealthOptionalinherited from BaseTargetGroupProps
TargetGroupHealth

Configuring target group health.

Default: - use default configuration

targetGroupNameOptionalinherited from BaseTargetGroupProps
string

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.

targetTypeOptionalinherited from BaseTargetGroupProps
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.

vpcOptionalinherited from BaseTargetGroupProps
IVpc

The virtual private cloud (VPC). only if `TargetType` is `Ip` or `InstanceId`

Default: - undefined

Get the Elastic Load Balancing V2 Cheat Sheet

Everything you need to know about Elastic Load Balancing V2 on one page. HD quality, print-friendly.

Download Free Infographic