1. Application Load Balancer
- HTTP, HTTPS를 다루는 로드밸런서이다.
- HTTP의 헤더 정보를 이용해 부하를 분산하는 것이 ALB의 특징이다.
- SSL 인증서를 탑재할 수 있어 대상 그룹의 EC2를 대신하여 SSL 암/복호화를 대신 진행할 수 있다.
- ALB는 라운드 로빈 방식을 사용한다.
- 외부 방화벽에서 특정 IP만 허용이 필요할 때 ALB 앞단에 NLB를 두거나 AWS Global Accelerator를 설정한다.
- ALB 세팅 시 보안그룹을 지정할 수 있다.
- 타겟 유형으로 Instance나 IP 또는 Lambda도 가능하다.
- Rule 편집을 통해 L7 구현이 가능하다.
- Least Outstanding Requests (LOR) 알고리즘을 통해 미처리 요청이 가장 적은 대상으로 Client의 Request를 보낼 수 있다.
2. Network Load Balancer
- L4의 특성을 이용하는 로드밸런서이다. 즉, TCP와 UDP를 사용하는 요청을 받아들여 부하분산을 실시한다.
- HTTP가 아닌 하위 Layer인 TCP Layer에서 처리하므로 HTTP 헤더를 해석하지 못한다.
- 지연시간이 짧다.
- 대규모 트래픽 처리에 적합하다.
- ALB와 달리 IP가 변하지 않는다.
- 보안 그룹 설정이 불가능하다.
- NLB에서 대상을 인스턴스로 지정하면 Client IP 확인이 가능하다.
댓글