Over the limit

로드 밸런서 Load Balancer란 ? 본문

Network

로드 밸런서 Load Balancer란 ?

ellapk 2024. 8. 30. 16:14


로드밸런서란?

서버나 장비의 부하를 분산하기 위해 사용하는 장비.

작은 시스템이 많이 있는 상태여도, 사용자는 서버 배치와 상관없이 하나의 서비스로 보여야하며, 부하를 감당하지 못하는 서버들을 로드밸런서가 다운되지 않도록 도와준다. 

 

 

 

 

스케일 업과 스케일 아웃

 

많은 트래픽이 몰릴 경우 부하를 감당하지 못하고, 서버가 다운되어 서비스가 작동을 멈출 수 있으므로 이러한 문제를 해결하기 위해 하단 방식을 사용

 

 

1) Scale Up 스케일 업

기존 서버의 성능을 향상시킴. CPU나 메모리를 업그레이드 시키는 것과 같은 작업을 포함

 

2) Scale Out 스케일 아웃

작업을 여러대 서버에 분산시켜서 처리하는 방법

 

 

 

 

 

 

로드 밸런싱 알고리즘

 

1. 정적 로드 밸런싱

1) 라운드 로빈 방식(Round Robin Method)

클라이언트의 요청을 여러 대의 서버에 순차적으로 분배하는 방식.

ex) A, B, C의 서버를 갖고 있는 경우 A -> B -> C -> A 순서대로 순회

 

 

2)가중치 기반 라운드 로빈 방식

각 서버마다 가중치(Weight)를 매기고 가중치가 높은 서버에 클라이언트 요청을 먼저 배분한다.

ex) A=8, B=2, C=3 -> A에게 8개 B에게 2개, C에게 3개의 Request를 할당

 

 

3) IP 해시 방식

로드밸런서가 클라이언트 IP 주소에 대해 해싱을 진행하여 개별 서버에 매핑한다. 해싱을 통해 부하를 분산한 것이고, 항상 동일한 서버로 연결되는 것 또한 보장시켜준다.

 

 

 

2. 동적 로드 밸런싱

1) 최소 연결 방법

활성 연결이 가장 적은 서버를 확인하고, 해당 서버로 트래픽을 전송한다.

 

2) 최소 응답 시간 방법

가장 짧은 응답 시간을 보내는 서버로 트래픽을 할당한다.

 

 

 

 

 

 

로드 밸런서 주요 기능

 

1)SSL 인증 설정

- CA에서 발급받은 SSL 인증서를 Certificate Manager에 등록 후 적용 가능

 

2)LoadBalancer 모니터링

- Concurrent Connection, Traffic등 모니터링 항목 제

 

3)세션 관리

- Connection idle timeout, HTTP keep-alive 설정 가능

 

4)NAT (Network Address Translation)

- 사설 IP주소를 공인 IP주소로 바꾸는데 사용하는 통신망의 주소 변조

 

5) 보안

-L7 로드밸런서의 경우 애플리케이션 계층(HTTP, FTP)에서 로드를 분산하기 때문에 사용자의 요청을 기준으로 특정 서버에 트래픽을 분산하는 것이 가능하다. 쉽게 말해 패킷을 미리 확인하고 그 내용에 따른 분산이 가능. Dos/DDos와 같은 비정상적인 트래픽을 필터링 할 수 있어 보안적 이점이 존재

 

 

 

 

 

 

 

참고)

https://www.smileshark.kr/post/what-is-a-load-balancer-a-comprehensive-guide-to-aws-load-balancer

'Network' 카테고리의 다른 글

Rounting 라우팅이란  (2) 2024.09.05
CDN vs 로드 밸런서  (0) 2024.08.30
CDN(Content Delivery Network)이란?  (0) 2024.08.30
Apache Kafka란?  (0) 2024.08.27
MQ 메세지 큐란?  (0) 2024.08.27