NetworkTargetGroup
- class aws_cdk.aws_elasticloadbalancingv2.NetworkTargetGroup(scope, id, *, port, connection_termination=None, preserve_client_ip=None, protocol=None, proxy_protocol_v2=None, targets=None, deregistration_delay=None, health_check=None, target_group_name=None, target_type=None, vpc=None)
Bases:
TargetGroupBase
Define a Network Target Group.
- ExampleMetadata:
infused
Example:
import aws_cdk.aws_elasticloadbalancing as elb import aws_cdk.aws_elasticloadbalancingv2 as elb2 # clb: elb.LoadBalancer # alb: elb2.ApplicationLoadBalancer # nlb: elb2.NetworkLoadBalancer alb_listener = alb.add_listener("ALBListener", port=80) alb_target_group = alb_listener.add_targets("ALBFleet", port=80) nlb_listener = nlb.add_listener("NLBListener", port=80) nlb_target_group = nlb_listener.add_targets("NLBFleet", port=80) deployment_group = codedeploy.ServerDeploymentGroup(self, "DeploymentGroup", load_balancers=[ codedeploy.LoadBalancer.classic(clb), codedeploy.LoadBalancer.application(alb_target_group), codedeploy.LoadBalancer.network(nlb_target_group) ] )
- Parameters:
scope (
Construct
) –id (
str
) –port (
Union
[int
,float
]) – The port on which the target receives traffic.connection_termination (
Optional
[bool
]) – Indicates whether the load balancer terminates connections at the end of the deregistration timeout. Default: falsepreserve_client_ip (
Optional
[bool
]) – Indicates whether client IP preservation is enabled. Default: false if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, true.protocol (
Optional
[Protocol
]) – Protocol for target group, expects TCP, TLS, UDP, or TCP_UDP. Default: - TCPproxy_protocol_v2 (
Optional
[bool
]) – Indicates whether Proxy Protocol version 2 is enabled. Default: falsetargets (
Optional
[Sequence
[INetworkLoadBalancerTarget
]]) – The targets to add to this target group. Can beInstance
,IPAddress
, or any self-registering load balancing target. If you use eitherInstance
orIPAddress
as targets, all target must be of the same type. Default: - No targets.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: 300health_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 ifTargetType
isIp
orInstanceId
Default: - undefined
Methods
- add_target(*targets)
Add a load balancing target to this target group.
- Parameters:
targets (
INetworkLoadBalancerTarget
) –- Return type:
None
- configure_health_check(*, 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)
Set/replace the target group’s 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: - 12healthy_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 NLBsinterval (
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 isGENEVE
, 35 seconds if target type islambda
, else 30 secondspath (
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 NLBstimeout (
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 isGENEVE
, 30 seconds if target type islambda
, 10 seconds for TCP, TLS, or HTTPSunhealthy_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
- Return type:
None
- metric_healthy_host_count(*, account=None, color=None, dimensions_map=None, label=None, period=None, region=None, statistic=None, unit=None)
(deprecated) The number of targets that are considered healthy.
- Parameters:
account (
Optional
[str
]) – Account which this metric comes from. Default: - Deployment account.color (
Optional
[str
]) – The hex color code, prefixed with ‘#’ (e.g. ‘#00ff00’), to use when this metric is rendered on a graph. TheColor
class has a set of standard colors that can be used here. Default: - Automatic colordimensions_map (
Optional
[Mapping
[str
,str
]]) – Dimensions of the metric. Default: - No dimensions.label (
Optional
[str
]) – Label for this metric when added to a Graph in a Dashboard. You can use dynamic labels to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph’s legend. Default: - No labelperiod (
Optional
[Duration
]) – The period over which the specified statistic is applied. Default: Duration.minutes(5)region (
Optional
[str
]) – Region which this metric comes from. Default: - Deployment region.statistic (
Optional
[str
]) – What function to use for aggregating. Use theaws_cloudwatch.Stats
helper class to construct valid input strings. Can be one of the following: - “Minimum” | “min” - “Maximum” | “max” - “Average” | “avg” - “Sum” | “sum” - “SampleCount | “n” - “pNN.NN” - “tmNN.NN” | “tm(NN.NN%:NN.NN%)” - “iqm” - “wmNN.NN” | “wm(NN.NN%:NN.NN%)” - “tcNN.NN” | “tc(NN.NN%:NN.NN%)” - “tsNN.NN” | “ts(NN.NN%:NN.NN%)” Default: Averageunit (
Optional
[Unit
]) – Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
- Default:
Average over 5 minutes
- Deprecated:
Use
NetworkTargetGroup.metrics.healthyHostCount
instead- Stability:
deprecated
- Return type:
- metric_un_healthy_host_count(*, account=None, color=None, dimensions_map=None, label=None, period=None, region=None, statistic=None, unit=None)
(deprecated) The number of targets that are considered unhealthy.
- Parameters:
account (
Optional
[str
]) – Account which this metric comes from. Default: - Deployment account.color (
Optional
[str
]) – The hex color code, prefixed with ‘#’ (e.g. ‘#00ff00’), to use when this metric is rendered on a graph. TheColor
class has a set of standard colors that can be used here. Default: - Automatic colordimensions_map (
Optional
[Mapping
[str
,str
]]) – Dimensions of the metric. Default: - No dimensions.label (
Optional
[str
]) –Label for this metric when added to a Graph in a Dashboard. You can use dynamic labels to show summary information about the entire displayed time series in the legend. For example, if you use:: [max: ${MAX}] MyMetric As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph’s legend. Default: - No label
period (
Optional
[Duration
]) – The period over which the specified statistic is applied. Default: Duration.minutes(5)region (
Optional
[str
]) – Region which this metric comes from. Default: - Deployment region.statistic (
Optional
[str
]) – What function to use for aggregating. Use theaws_cloudwatch.Stats
helper class to construct valid input strings. Can be one of the following: - “Minimum” | “min” - “Maximum” | “max” - “Average” | “avg” - “Sum” | “sum” - “SampleCount | “n” - “pNN.NN” - “tmNN.NN” | “tm(NN.NN%:NN.NN%)” - “iqm” - “wmNN.NN” | “wm(NN.NN%:NN.NN%)” - “tcNN.NN” | “tc(NN.NN%:NN.NN%)” - “tsNN.NN” | “ts(NN.NN%:NN.NN%)” Default: Averageunit (
Optional
[Unit
]) – Unit used to filter the metric stream. Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units. The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases. CloudWatch does not honor this property for graphs. Default: - All metric datums in the given metric stream
- Default:
Average over 5 minutes
- Deprecated:
Use
NetworkTargetGroup.metrics.healthyHostCount
instead- Stability:
deprecated
- Return type:
- register_listener(listener)
Register a listener that is load balancing to this target group.
Don’t call this directly. It will be called by listeners.
- Parameters:
listener (
INetworkListener
) –- Return type:
None
- set_attribute(key, value=None)
Set a non-standard attribute on the target group.
- Parameters:
key (
str
) –value (
Optional
[str
]) –
- See:
- Return type:
None
- to_string()
Returns a string representation of this construct.
- Return type:
str
Attributes
- first_load_balancer_full_name
Full name of first load balancer.
- health_check
Health check for the members of this target group.
- load_balancer_arns
A token representing a list of ARNs of the load balancers that route traffic to this target group.
- load_balancer_attached
List of constructs that need to be depended on to ensure the TargetGroup is associated to a load balancer.
- metrics
All metrics available for this target group.
- node
The tree node.
- target_group_arn
The ARN of the target group.
- target_group_full_name
The full name of the target group.
- target_group_load_balancer_arns
ARNs of load balancers load balancing to this TargetGroup.
- target_group_name
The name of the target group.
Static Methods
- classmethod from_target_group_attributes(scope, id, *, target_group_arn, load_balancer_arns=None)
Import an existing target group.
- Parameters:
scope (
Construct
) –id (
str
) –target_group_arn (
str
) – ARN of the target group.load_balancer_arns (
Optional
[str
]) – A Token representing the list of ARNs for the load balancer routing to this target group.
- Return type:
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters:
x (
Any
) – Any object.- Return type:
bool
- Returns:
true if
x
is an object created from a class which extendsConstruct
.