In Amazon Web Services, target groups are how Elastic Load Balancing knows which backends should receive forwarded traffic: for example Amazon EC2 instances, IP addresses, or (with an Application Load Balancer) AWS Lambda functions.
A load balancer listener uses rules to choose a target group; the group defines the protocol and port on targets, health checks, and stickiness options. This guide summarises those ideas and walks through creating an instance target group in the console.
What is a target group?
A target group is a named collection of registered targets in a VPC. When a client hits your load balancer, a listener rule forwards the request to one healthy target in the chosen group. You can attach the same group to multiple rules or share an Auto Scaling group so new instances register automatically.
Key features
Target groups sit between listeners and your workloads: they define where traffic goes, how it is split, and how AWS decides what is healthy.
Traffic distribution
Scaling out — Spread requests across many instances or tasks so no single host becomes a bottleneck.
Weighted forwards — With an ALB you can split traffic across target groups (for example blue/green) using weighted forward actions on advanced rules.
Health checks
Probes — The load balancer periodically calls your health check path and port.
Unhealthy routing — Targets that fail thresholds stop receiving new connections until they recover; configure thresholds and matchers to match your app’s readiness signal.
Target types
Instances — Classic EC2 fleet behind an ALB or NLB.
IP addresses — On-premises or peered networks reachable from the VPC (where supported).
Lambda — ALB can invoke a Lambda target (different limits and payload rules than instance targets).
ECS / EKS — Container workloads often register tasks or pods through service integrations.
Integration
Auto Scaling — Attach a group to an ASG so scale-out registers new instances automatically.
Observability — Use CloudWatch metrics on the target group to see healthy host count, connection counts, and error rates.
Create a target group in the console
These steps mirror the original screenshots; labels in the AWS console can move slightly between UI revisions.
Open the EC2 console and confirm you are in the correct Region.
Amazon EC2
In the left navigation, expand Load Balancing and choose Target groups, then Create target group.
Amazon EC2
On the first page of the wizard, set basic attributes (adjust to your workload):
Target type: Instances (typical for EC2 web servers).
Target group name: A unique name in the account/Region.
Protocol : Port: Often HTTP : 80 when the app listens on HTTP behind the load balancer.
IP address type: IPv4 unless you run IPv6 end-to-end.
Protocol version: HTTP1, HTTP2, or gRPC depending on the listener you will attach.
Health check protocol: HTTP (or HTTPS) and a path such as / or a dedicated /health endpoint.
Tags: Optional cost-allocation or owner tags.
Choose Next.
Amazon EC2
Select the EC2 instances to register, then choose Create target group. Instances appear as initial or unused until a listener forwards traffic to the group.
Amazon EC2
When creation finishes, the group appears in the list with its ARN, VPC, and protocol. Health will move to healthy after checks succeed.
Target groups define where traffic goes and how AWS decides if a backend is usable.
2
Health checks should reflect real readiness—cheap endpoints beat probing heavy pages.
3
Listeners and rules on the load balancer reference target groups; the group alone does not expose a public hostname.
Frequently asked questions
Clients connect to the load balancer DNS name (or a Route 53 alias to it). The target group is an internal routing construct.
You can edit many health check settings in place. Tightening thresholds may briefly flip targets to unhealthy if the new criteria are harder to satisfy—plan changes during low traffic.
HTTP/2 is an application protocol version. HTTPS means HTTP over TLS. An ALB can terminate HTTPS on a listener while still forwarding HTTP/1.1 or HTTP/2 to targets, depending on your configuration.
When you deregister a target or it fails health checks, the load balancer can keep existing connections briefly while deregistration delay elapses. Tune that value so long-lived connections drain without surprising drops.