A load balancer distributes requests to healthy targets. An Auto Scaling group manages instance capacity according to a launch configuration or template and scaling policy. These functions work together, but they aren't the same mechanism. A healthy target count, a desired capacity, and the number of running instances can differ during a transition.
Spread capacity across Availability Zones when a zone failure is in scope. A load balancer can't remove a shared single-zone database dependency, and more instances don't repair a broken health check. Use metrics tied to demand, establish minimum and maximum capacity, and keep application sessions outside disposable instances where possible. These tasks focus on the decision behind the configuration so that you can recognize a system that scales numerically while still failing users.