로드밸런서(Load Balancer)란?
로드밸런서는 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 통칭.
클라이언트와 서버풀(Server Pool, 분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치하며, 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 준다.
로드밸런서가 필요한 이유
사업의 규모가 확장되고, 클라이언트의 수가 늘어나게 되면서 서버의 수용량을 늘려야 할 때 접근방법은 스케일 아웃과 스케일 업이 있다.
- 스케일 업(Scale-up) : 메모리 증설, 부품 추가/교체, 상위 기종으로 교체 해 서버의 성능을 높이는 방법
- 스케일 아웃(Scale-out) : 서버의 수를 늘려서 수용량을 늘리는 방법, Scale-out의 방식으로 서버를 증설하기로 결정했다면 여러 대의 서버로 트래픽을 균등하게 분산해주는 로드밸런싱이 반드시 필요하다.
로드밸런서
네트워크 통신 시스템은 크게 일곱 가지의 계층(OSI 7 layers, OSI 참조모델)로 구분 할 수 있고, 로드밸런서의 L 다음의 숫자는 OSI 참조 모델의 레이어를 가리킨다.
L4 로드밸런서
- L4 로드밸런서는 네트워크 계층(IP, IPX)이나 트랜스포트 계층(TCP, UDP)의 정보를 바탕으로 로드를 분산
- Layer 4 정보(TCP/UDP port)를 바탕으로 패킷을 분류하고 원하는 서버나 장비로 전송(포트 기반 필터링)
L7 로드밸런서
- L7 로드밸런서의 경우 애플리케이션 계층에서 동작
- 이메일의 제목이나 문자열을 보고 내용을 파악한다거나 HTTP의 URL 또는 FTP의 파일명, 쿠키 정보, 특정 바이러스의 패턴 등을 기준으로 트래픽을 분산하는 방법으로 보안에 더욱 유리하고 더욱 정교한 로드 밸런싱(콘텐츠 기반 제어)
Reference
로드밸런서(Load Balancer)의 개념과 특징
L4 스위치