Skip to content
v2.274.0

ApplicationTargetGroupProps Struct ​

Properties for defining an Application Target Group.

Example ​

ts
declare const vpc: ec2.Vpc;

const tg = new elbv2.ApplicationTargetGroup(this, 'TG', {
  targetType: elbv2.TargetType.IP,
  port: 50051,
  protocol: elbv2.ApplicationProtocol.HTTP,
  protocolVersion: elbv2.ApplicationProtocolVersion.GRPC,
  healthCheck: {
    enabled: true,
    healthyGrpcCodes: '0-99',
  },
  vpc,
});

Properties ​

crossZoneEnabledoptionalbooleancross_zone_enabledoptionalboolcrossZoneEnabledoptionalBooleanCrossZoneEnabledoptionalboolCrossZoneEnabledoptional*bool#
Indicates whether cross zone load balancing is enabled.

Default: use load balancer configuration

deregistrationDelayoptionalDurationderegistration_delayoptionalDurationderegistrationDelayoptionalDurationDeregistrationDelayoptionalDurationDeregistrationDelayoptionalDuration= 300#
The amount of time for Elastic Load Balancing to wait before deregistering a target.

The range is 0-3600 seconds.

enableAnomalyMitigationoptionalbooleanenable_anomaly_mitigationoptionalboolenableAnomalyMitigationoptionalBooleanEnableAnomalyMitigationoptionalboolEnableAnomalyMitigationoptional*bool= false#
Indicates whether anomaly mitigation is enabled.

Only available when loadBalancingAlgorithmType is TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM

healthCheckoptionalHealthCheckhealth_checkoptionalHealthCheckhealthCheckoptionalHealthCheckHealthCheckoptionalHealthCheckHealthCheckoptionalHealthCheck#
Health check configuration.

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

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

Default: undefined - ELB defaults to IPv4

loadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeload_balancing_algorithm_typeoptionalTargetGroupLoadBalancingAlgorithmTypeloadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeLoadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmTypeLoadBalancingAlgorithmTypeoptionalTargetGroupLoadBalancingAlgorithmType#
The load balancing algorithm to select targets for routing requests.

Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN

multiValueHeadersEnabledoptionalbooleanmulti_value_headers_enabledoptionalboolmultiValueHeadersEnabledoptionalBooleanMultiValueHeadersEnabledoptionalboolMultiValueHeadersEnabledoptional*bool= false#
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.

portoptionalnumberportoptionalint | floatportoptionalNumberPortoptionaldoublePortoptional*float64#
The port on which the target receives traffic.

Default: Determined from protocol if known

This is not applicable for Lambda targets.

protocoloptionalApplicationProtocolprotocoloptionalApplicationProtocolprotocoloptionalApplicationProtocolProtocoloptionalApplicationProtocolProtocoloptionalApplicationProtocol#
The protocol used for communication with the target.

Default: Determined from port if known

This is not applicable for Lambda targets.

protocolVersionoptionalApplicationProtocolVersionprotocol_versionoptionalApplicationProtocolVersionprotocolVersionoptionalApplicationProtocolVersionProtocolVersionoptionalApplicationProtocolVersionProtocolVersionoptionalApplicationProtocolVersion= ApplicationProtocolVersion.HTTP1#
The protocol version to use.
slowStartoptionalDurationslow_startoptionalDurationslowStartoptionalDurationSlowStartoptionalDurationSlowStartoptionalDuration= 0#
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).

stickinessCookieDurationoptionalDurationstickiness_cookie_durationoptionalDurationstickinessCookieDurationoptionalDurationStickinessCookieDurationoptionalDurationStickinessCookieDurationoptionalDuration#
The stickiness cookie expiration period.

Default: Stickiness is disabled

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

stickinessCookieNameoptionalstringstickiness_cookie_nameoptionalstrstickinessCookieNameoptionalStringStickinessCookieNameoptionalstringStickinessCookieNameoptional*string#
The name of an application-based stickiness cookie.

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

notes

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.

targetGroupHealthoptionalTargetGroupHealthtarget_group_healthoptionalTargetGroupHealthtargetGroupHealthoptionalTargetGroupHealthTargetGroupHealthoptionalTargetGroupHealthTargetGroupHealthoptionalTargetGroupHealth#
Configuring target group health.

Default: use default configuration

targetGroupNameoptionalstringtarget_group_nameoptionalstrtargetGroupNameoptionalStringTargetGroupNameoptionalstringTargetGroupNameoptional*string#
The name of the target group.

Default: Automatically generated.

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.

targetsoptionalIApplicationLoadBalancerTarget[]targetsoptionaltyping.List[IApplicationLoadBalancerTarget]targetsoptionalList<IApplicationLoadBalancerTarget>TargetsoptionalIApplicationLoadBalancerTarget[]Targetsoptional*[]IApplicationLoadBalancerTarget#
The targets to add to this target group.

Default: No targets.

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.

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

Default: Determined automatically.

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.

vpcoptionalIVpcvpcoptionalIVpcvpcoptionalIVpcVpcoptionalIVpcVpcoptionalIVpc= undefined#
The virtual private cloud (VPC).

only if TargetType is Ip or InstanceId