Elastic Load Balancer, 요청 수가 많을때 부하를 분배하는 장치이다.
Load balancer port를 거쳐 로드밸런싱을 진행하고, 각 부하는 instance port를 통해 web server에 접속 및 응답을 받는 과정이 진행된다.
※ 단 DB는 ELB에서의 부하를 분할하거나 scale out하는 대상이 될 수 없다.
load balancer에서 인스턴스에게 데이터를 요청할때, 혹은 요청을 보낼때 dead 상태의 인스턴스에게 요청을 한다면 정상적인 응답을 받을 수 없을 것이다.
따라서 이러한 dead 상태의 인스턴스를 check하기 위한 health check 과정을 거쳐야 하며, 정기적으로 인스턴스와 통신하면서 이러한 check를 진행한다.
ELB의 효과를 보기 위해서는 단순히 ELB를 생성하는 것에 그치지 않고, 인스턴스를 장착해야 완전한 로드밸런싱의 process를 진행할 수 있다.
ELB 접속시 자동적으로 부하 분배후, web server를 응답받는다.
로드 밸런싱을 통해 부하를 밸런싱할때 EC2를 수동으로 장착하는 것이 계속 된다면, 필요할때마다 이러한 과정을 지속해야하므로 비효율적일 수 있다.
이러한 ELB 구성을 자동적으로 해주는 서비스가 바로, AWS에서 제공하는 auto scaling이다.
launch configuration을 통해 인스턴스 이미지를 server로 만들기 위한 설정을 구성한 후, 이를 기반으로 실제로 auto scaling이 진행된다.