로드밸런싱 (Load Balancing)
- 서버에 가해지는 부하(Load)를 분산(Balancing)하는 기법
: 클라이언트와 서버풀 (분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치
: 한대에 서버로 부하가 집중되지 않도록 트래픽을 관리해 각 서버의 성능을 최적화
서버의 업그레이드 개념
- Scale-Up
: 서버 자체의 성능을 향상시키는 것
- Scale-out
: 기존 서버와 동일하거나 낮은 성능의 서버를 두 대 이상 증설하는 것
: 로드밸런싱 필요
로드밸런싱 알고리즘
- 라운드로빈 방식 (Round Robin Method)
: 서버에 들어온 요청을 돌아가며 배정하는 방식
: 클라이언트의 요청을 순서대로 분배
: 동일한 스펙의 여러 대의 서버를 사용하며 서버와의 연결 (세션)이 오래 지속되지 않을 경우 적합
- 가중 라운드로빈 방식 (Weighted Round Robin Method)
: 각 서버 마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분하는 방식
: 서버의 트래픽 처리 능력이 상이한 경우 적합
- IP해시 방식 (IP Hash Method)
: 클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식
: 사용자가 항상 동일한 서버로 연결되는 것을 보장
※ 해싱 (Hashing)
= 임의의 길이를 지닌 데이터를 고정된 길이의 데이터로 매핑 하는 것
※ 매핑 (Mapping)
= 어떤 한 데이터에 값을 대입하는 것
- 최소 연결 방식 (LCM, Least Connection Method)
: 요청이 들어온 시점에 가장 적은 연결상태를 가진 서버에 우선적으로 분배하는 방식
: 세션이 길어지거나 서버에 분배된 트래픽이 일정하지 않은 경우에 적합
- 최소 응답 시간 방식 (LRT, Least Response Time Method)
: 서버의 현재 연결상태와 응답시간을 고려하여 트래픽 분배
: 가장 적은 연결 상태와 가장 짧은 응답 시간을 보이는 서버에 우선적으로 분배
※ 응답시간 (Response Time)
= 서버에 요청을 보내고 최초 응답을 받을 때까지 소요되는 시간
로드밸런서의 종류
로드밸런서의 종류
- L2 ~ L7 로드밸런서
L2 (Data Link Layer)
- MAC Address Load Balancing
: MAC 주소를 바탕으로 로드밸런싱
- 관련 프로토콜 및 장비
: 브릿지, 허브 등 2계층 장비
- 장점
: 구조가 간단하고 신뢰성이 높음
: 저렴한 가격
: 좋은 성능
- 단점
: Broad Cast 패킷에 의해 성능 저하 발생 우려
: 라우팅 등 상위 레이어 프로토콜 기반 스위칭 불가
L3 (Network Layer)
- IP Address Load Balancing
: L2 + 라우팅
: MAC주소와 IP 정보를 바탕으로 로드 밸런싱
- 관련 프로토콜 및 장비
: 라우터, ICMP프로토콜, IP
- 장점
: 브로드 캐스트 트래픽을 사용하기 때문에 전체 성능 저하 방지
: 트래픽 체크 기능
- 단점
: 특정 프로토콜을 사용해야만 스위칭 가능
L4 (Transport Layer)
- IP + Port Load Balancing
: 포트 정보를 바탕으로 로드를 분산하는 것이 가능하여 가장 많이 활용
: 한 대의 서버에 각기 다른 포트번호를 부여하여 다수의 서버 프로그램을 운영하는 경우 최소 L4부터 사용 권장
: 주로 라운드 로빈 방식을 이용
- 관련 프로토콜 및 장비
: TCP, UDP
- 장점
: 포트 기반 스위칭 지원
: 가상 IP주소를 이용하여 여러대의 서버를 한대로 묶어 부하분산 가능
: 데이터를 들여보지 않고 패킷 레벨에서만 로드를 분산하여 효율과 성능이 좋음
: 데이터의 내용을 복호화할 필요가 없음
: L7 로드밸런서 보다 저렴함
- 단점
: 패킷의 내용을 볼 수 없어 섬세한 라우팅 불가능
: 사용자의 IP가 수시로 바뀌는 경우에는 연속적인 서비스 제공 어려움
L7 (Application Layer)
- 애플리케이션 계층에서 로드를 분산하는 방식
: HTTP 헤더, 쿠기 등과 같은 사용자 요청을 기준으로 특정 서버에 트래픽 분산 가능
=> 패킷의 내용을 확인하고 내용에 따라 로드를 분배
- 관련 프로토콜 및 장비
: HTTP, FTP, SMTP 등
- 장점
: 상위 계층에서 로드를 분산하기 때문에 더욱 섬세한 라우팅 가능
: 캐싱 기능 제공 (자주 쓰이는 파일을 저장하여 빠른 로딩)
: 비정상적인 트래픽을 사전에 감지할 수 있어 서비스 안정성이 높음
- 단점
: 패킷의 내용을 복호화해야 하므로 비용 상승
: 클라이언트가 로드밸런서와 인증서를 공유하기 때문에 공격자가 로드밸런서를 통해 클라이언트에 접근가능
=> L2에서 L7으로 가면서 상위계층의 로드밸런서는 하위계층의 로드밸런서 기능을 가짐
Refference
'Computer Science > Network' 카테고리의 다른 글
외부 네트워크 접속 방법 - 포트포워드, DMZ, Twin IP (0) | 2021.09.08 |
---|---|
방화벽이란? (Fire wall) (0) | 2021.02.06 |
프록시 서버의 모든 것 (Proxy Server) (0) | 2021.02.06 |
네트워크 보안 (0) | 2020.12.13 |
네트워크 관리 (0) | 2020.12.13 |