높은 가용성과 확장성을 가진 자동 트래픽 분산 서비스이다. 들어오는 클라이언트 요청을 여러 대상에 자동으로 분산시켜준다.
| 유형 | 프로토콜 | 용도 |
|---|---|---|
| ALB(Application Load Balancing) | HTTP/HTTPS(L7) | 웹 트래픽, 경로/호스트 기반 라우팅, 마이크로 서비스 |
| NLB(Network Load Balancing) | TCP/UDP(L4) | 초고속 성능, 고정 IP, 저지연 |
| GLB(Gateway Load Balancing) | GENEVE(L3, 4) | 보안 장비 트래픽 미러링 전달 |
그리고 정적 로드 밸런싱, 동적 로드 밸런싱으로 나눌 수 있다.
| 구분 | 정적 로드 밸런싱 | 동적 로드 밸런싱 |
|---|---|---|
| 기준 방식 | 미리 정의된 규칙(서버 상태 무시) | 서버 상태(부하, 연결 수, 응답 시간 등) 기반 |
| 실시간 서버 | 상태 반영 X | 상태 기반 판단 |
| 알고리즘 종류 | 라운드 로빈, 가중치 기반 라운드 로빈, IP 해시 | 최소 연결, 가중치 기반 최소 연결, 최소 응답시간, 리소스 기반 |
순차적으로 서버 IP를 분배한다. 모든 서버가 동일한 성능일 때 균등하게 트래픽이 분산된다는 특징을 가진다.
각 서버의 성능이나 우선순위에 따라 트래픽 분산 비율을 다르게 설정한다. CPU/메모리가 더 좋은 서버에 더 많은 요청을 하고 성능이 낮은 서버에 적은 요청을 분배한다.
클라이언트의 IP 주소를 해시 값으로 변환해 특정 서버에 매핑한다. 동일한 IP에서 오는 요청은 항상 같은 서버로 연결해주기에 세션 일관성을 보장한다.
IP 해시 (세션 고정 - Sticky Session)
세션 고정 기능은 특정 클라이언트 요청이 항상 동일한 대상으로 라우팅되도록 하는 기능이다. 내부적으로 클라이언트 IP 주소 해시 또는 쿠키 등을 사용해 구현될 수 있으며 세션 일관성을 보장하는데 사용된다.
ALB에서 세션 고정 기능이 활성화되어 있을 경우 특정 EC2 인스턴스로 트래픽이 집중되어 지연이 발생할 수 있다.
현재 활성화된 연결 수가 가장 적은 서버에 요청을 전달한다.
트래픽이 고르게 분산되며 놀고 있는 서버를 우선적으로 사용한다.
서버의 성능에 맞추어 가중치를 설정한 뒤 연결 수와 함께 고려해 분산한다. 고성능 서버는 더 많은 연결을, 저성능 서버는 적은 연결을 부담한다.
서버 응답 시간과 현재 연결 수를 동시에 고려해 가장 빠른 서버에게 요청을 전달한다.
서버의 CPU, 메모리 등의 자원 활용도를 모니터링해 트래픽을 분산시킨다. 클라우드 환경이나 컨테이너 기반 환경에서 자주 사용된다.
최소 미처리 요청
이미 과부화된 인스턴스로 새로운 요청이 전달되는 것을 방지한다. 요청 수가 너무 적거나 연결 수가 적은 경우 인스턴스로 트래픽을 분산시켜 전체적인 지연 시간을 줄일 수 있다.
웹 애플리케이션의 트래픽이 증가해 일부 EC2 인스턴스에 미처리 요청이 많아져 과부하가 발생할 시 ALB는 RequestCount Per Target 및 Active Connection Count Cloud Watch 지표를 기반으로 최소 미처리 요청 라우팅 알고리즘을 사용한다.

OSI 모델 7계층에 위치해 있으며, HTTP/HTTPS 트래픽에 최적화된 로드 밸런서로 웹 애플리케이션 환경에서 복잡한 트래픽 관리에 강하다.
OSI 모델 4계층에 위치하며 TCP/UDP 트래픽에 최적화된 초고성능 로드 밸런서이다.

OSI 모델 3계층에 위치해 있으며 네트워크 트래픽을 네트워크 가상 어플라이언스 앞단에서 투명하게 분산 및 라우팅해준다.
방화벽, IDS/IPS, 패킷 검사 솔루션 같은 네트워크 보안 장비 앞단에 배치하며 모든 트래픽을 해당 장비로 보내 검사한 후 다시 원래 목적지로 전달한다.
즉, 클라이언트와 서버 사이에서 중간 게이트웨이처럼 동작한다. 이때 IP 레벨에서 동작하기에 애플리케이션에는 변화없이 적용 가능하다.