로드밸런싱(Load Balancing)을 제공해주는 하드웨어 장치나 소프트웨어 어플리케이션을 의미하고 클라이언트와 서버 그룹 사이에 위치해 서버에 가해지는 트래픽을 여러 대의 서버에 고르게 분배하여 특정 서버의 부하를 덜어주며, 이러한 문제를 해결하기 위해서 스케일 업(Scale up)과 스케일 아웃(Scale out) 방식 중 한 가지를 사용해 해결한다.
기존 서버의 성능을 향상시키는 방법으로, CPU, 메모리, 디스크 등의 자원을 업그레이드하여 처리 능력을 향상시킨다. 예를 들어 서버의 CPU를 4코어에서 8코어로, 메모리를 16GB에서 32GB로 업그레이드하는 것이다.
스케일 업(Scale up)은 확장성에 한계가 있고 비용 증가 폭이 크지만 관리와 운영에 큰 변화가 없으며 장애 시 다운 타임이 발생한다.
여러 대의 컴퓨터나 서버를 추가하여 트래픽이나 작업을 분산시켜 처리하는 방식으로, 로드밸런서(Load Balancer)를 통해 트래픽을 분산시킨다. 예를 들어 기존의 2대의 서버에 2대를 더 추가하여 총 4대의 서버로 트래픽을 분산 처리하는 것이다.
스케일 아웃(Scale out)은 지속적 확장이 가능하고 비용 부담이 적지만 관리 편의성과 운영 비용이 증가하며 장애 시 전면 장애 가능성이 적다.
OSI 7계층에서 동작하며 HTTP/HTTPS 트래픽을 라우팅하고 로드밸런싱하는 데 사용되고 다양한 라우팅 방식을 지원하며 WAF와 통합하여 보안 기능을 제공하며 컨테이너화된 애플리케이션 및 마이크로서비스 아키텍처에 적합함.
OSI 4계층에서 동작하며 TCP/UDP 트래픽을 로드밸런싱하는 데 사용되고 고성능, 저지연 요구 사항이 있는 애플리케이션에 적합하며 탄력적 IP 주소를 통해 고정 IP를 제공하며 장애 조치 시나리오에서 빠른 응답 시간을 제공함.
AWS의 기존 로드밸런서로 OSI 4계층과 7계층에서 동작하고 HTTP/HTTPS 및 TCP 트래픽을 로드밸런싱하는 데 사용되며, 기본적인 라우팅 및 상태 확인 기능을 제공하지만 새로운 애플리케이션의 경우 ALB 또는 NLB 사용이 권장됨.
여러 대의 컴퓨터나 서버에 작업을 고르게 분산하여 처리하는 걸 의미하고 트래픽이 과도하게 몰려 서비스가 중단되는 일을 막고 지연 없이 작업을 처리하며, 이를 통해 애플리케이션의 가용성과 확장성을 높일 수 있다.
라운드 로빈 방식(Round Robin Method)
가중치 기반 라운드 로빈 방식(Weighted Round Robin Method)
IP 해시 방식(IP Hash Method)
최소 연결 방법(Least Connection Method)
최소 응답 시간 방법(Least Response Time Method)
네트워크 계층이나 전송 계층에서 작동하고 IP 주소나 포트 번호, 프로토콜 등의 정보를 기반으로 트래픽을 분산하며, 전송 프로토콜에 따라 트래픽을 분산하는 것이 가능하다.
애플리케이션 계층에서 작동하고 HTTP 헤더나 쿠키, URL 등의 정보를 기반으로 트래픽을 분산하며, 사용자의 요청을 기준으로 특정 서버에 트래픽을 분산하는 것이 가능하다.