ELB는 Auto scailing Group앞에 배치되 이 그룹을 타깃그룹으로 설정한다. 타깃그룹으로 설정된 Auto scailing Group에 있는 인스턴스들에게 균등하게 트래픽을 분산시킨다.
또한 균등하게 분산시킨 트래픽을 통하여 인스턴스의 이상유무를 확인하는 헬스체크 를 가능하게 한다. 만약 헬스체크를 통해 이상이 감지되었다면 해당 인스턴스로 가는 트래픽을 즉시 중단시키고 Auto scailing Group은 문제가 있는 인스턴스를 폐기후 새 인스턴스로 대체해 다시 그룹안에 포함시킨다.
💡 트래픽 감소에 따라 인스턴스를 종료할 때 무작위로 종료하는 것이 아니라 체크리스트에 따라 종료한다.
💡 ELB는 리전에 국한된 서비스다.
💡 ELB는 크게 Aplication Load Balancer(ALB), Network Load Balancer(NLB), Classic Load Balancer(CLB)로 나누어 진다.
💡IDLE TIME OUT
ALB는 트래픽을 보내 응답이 없다면 이상을 감지하는 헬스체크가 중요하다. 하지만 인스턴스의 응답없음이 사실 문제가 생긴것이 아닌 어떤 작업을 수행하거나 잠시 중지 상태일 수 있다. IDLE TIME OUT을 이용해 이상이 있다고 감지하는 시간을 설정할 수 있다.
EX) IDLE IME OUT이 3분이라면 인스턴스가 트래픽에 대한 응답을 3분동안은 하지 않아도 이상있다고 판단하지않는다.
📌 DEFAULT시간 =60초
💡 Connection Draining
인스턴스를 바로 종료하지않고 시간을 주고 종료한다.
이해하기 쉽게 예를 들겠다.
ex) 만약 Auto scailing액션을 통해 인스턴스를 축소하기 위해 인스턴스를 종료하는 상황이다. 이때 해당 인스턴스는 이미 작업중인 process가 있고 작업 마무리까지 5분이 남았다고하자. 해당 인스턴스를 종료해버리면 5분남은 작업은 마무리되지않고 종료되버린다. 따라서 Connection Draining설정을 통해 바로 종료하지않고 term을 두고 작업이 완료되면 인스턴스를 제거한다.
📌 DEFAULT시간 = 300초
📌 CAN BE DISABLED
이번 포스팅에서는 로드밸런서의 종류와 기능을 알아보았다. 시험에서도 제일 언급이 많이되는 기술이며, 필자 또한 인스턴스의 자동확장,헬스체크의 기능을 가능하게 해주는 AWS핵심 기술중에 하나라고 생각한다. 다음 포스팅에서는 스토리지에 대해서 포스팅 할 예정이다.