로드 밸런서(Load Balancer)
로드 밸런서는 트래픽을 여러 대의 서버로 분산하는 장치 또는 기술을 말한다.
- 로드 밸런서는 클라이언트와 분산된 서버들 사이에 위치한다.
- 로드 밸런서는 하나의 서버로 트래픽이 집중되지 않도록 트래픽을 관리한다.
로드 밸런서가 필요한 이유
- 서비스 규모가 커짐에 따라 증가하는 트래픽을 하나의 서버가 감당할 수 없는 경우 정상적인 서비스를 제공할 수 없게 된다.
- 증가하는 트래픽을 처리하기 위해
Scale-out
방식으로 서버를 증설하는 경우, 트래픽을 여러 대의 서버에 효과적으로 분산하기 위해 로드 밸런서를 사용한다.
L4 로드 밸런싱과 L7 로드 밸런싱
트래픽 분산을 위해 L4 로드 밸런싱과 L7 로드 밸런싱을 가장 많이 사용한다.
L4
와 L7
은 OSI 7 계층에서 L4, L7 계층을 말한다.
- 네트워크 계층에서 L4 계층은 Transport layer(전송 계층)을 말한다.
- 네트워크 계층에서 L7 계층은 Application layer(애플리케이션 계층)을 말한다.
L4 로드 밸런싱
- 네트워크 계층(IP)이나 트랜스포트 계층(TCP, UDP) 정보를 바탕으로 트래픽을 분산한다.
- IP 주소, 포트번호, MAC 주소, 전송 프로토콜에 따라 트래픽을 분산할 수 있다.
장점
- 패킷 레벨에서만 로드를 분산하므로 속도가 빠르고 효율이 좋음
- 패킷 내용을 복호화하지 않아 안전함
단점
- 패킷 내용을 알 수 없어 섬세한 라우팅이 불가능
- 사용자 IP 주소가 수시로 바뀌는 경우 연속적인 서비스 제공이 어려움
L7 로드 밸런싱
- 애플리케이션 계층(HTTP, FTP)에서 트래픽을 분산하므로 HTTP 헤더, 쿠키와 같은 사용자 요청을 기준으로 특정 서버에 트래픽을 분산할 수 있다.
- 패킷을 확인해 패킷의 내용에 따라 트래픽을 특정 서버에 분산할 수 있다.
- 클라이언트의 요청을 세분화하여 서버에 전달할 수 있다.
- 특정 패턴의 바이러스를 감지하고, DDos 같은 비정상 트래픽을 감지할 수 있어 네트워크 보안 분야에서도 사용한다.
장점
- 상위 계층에서 부하를 분산하므로 섬세한 라우팅이 가능
- 캐싱 기능 제공
- 비정상적 트래픽을 사전 필터링해 서비스 안정성을 높여줌
단점
- 패킷 내용을 복호화해야 함
- 공격자가 로드밸런서를 통해 클라이언트 데이터에 접근할 수 있음
참고