I am experiencing quite a strange behaviour with AWS ELB and AWS ASG.
I gave some stress for my server and AWS ASG created 2 EC2 instances to handle the load. Both instances were running on 100% CPU utilisation so AWS ASG created two more - a 3rd and a 4th instance. The thing is that now the 3rd and 4th instances run at 0% CPU utilisation and 1st and 2nd run at ~90% CPU utilisation.
![4th instance](https://i.stack.imgur.com/Yqo9v.png)
![3rd instance](https://i.stack.imgur.com/UopAW.png)
![2nd instance](https://i.stack.imgur.com/HTdQP.png)
![1st instance](https://i.stack.imgur.com/Deiwn.png)
Why the load between instances is not shared so all of them would be loaded with ~45% CPU utilisation ? Why some instances are maxed and some stay idle?
P.S. My AWS ASG scaling policy :
Execute policy when: As required to maintain Average CPU Utilization at 80
Take the action: Add or remove instances as required