AWS Auto Scaling Group - Application Load Balancer Request Count Per Target
The answer is your first choice: "Number of active connections to targets from the load balancer divided by number of targets" The ELB metrics are all 1 minute, as quoted by Hagen above.
You can see all the metric definitions for load balancers in the AWS ALB doc.
Note, that there is both a RequestCount
and RequestCountPerTarget
where the latter is the former divided by the number of active targets.
You can see both these metrics in the CloudWatch console, but more simply in the EC2 console. Select Target Groups on the left pane and then the Monitoring tab. (Note that there is a lot of overlap between the monitoring tab of Target Groups and Monitoring in the Load Balancer screen)
Although the Load Balancer metrics are every 1 minute, if you used EC2 metrics (like CPU) they are only every 5 minutes by default unless you change your CloudWatch settings to turn on detailed monitoring to get metrics every minute. You pay extra for detailed metrics.
RequestCountPerTarget
is a load balancer metric. The ELB metrics are always over 1 minute, as outlined in the documentation:
Elastic Load Balancing reports metrics to CloudWatch only when requests are flowing through the load balancer. If there are requests flowing through the load balancer, Elastic Load Balancing measures and sends its metrics in 60-second intervals. If there are no requests flowing through the load balancer or no data for a metric, the metric is not reported.
So if you stick to this metric, there is no need to pay for detailed EC2 instance metrics. This is only relevant if you need to use something like the CPU utilization on the instances.