DevOps BootCamp/네트워크 기초

로드밸런서(Load Balancer)

cloudmaster 2023. 4. 7. 20:26

서비스 가용성(availability)를 높이기 위해서 하나의 서비스는 보통 두 대 이상의 서버로 구성하는데 각 서버 IP주소가 다르므로 사용자가 서비스를 호출할 때는 어떤 IP로 서비스를 요청할지 결정해야 함

사용자에 따라 호출하는 서버의 IP가 다르면, 특정 서버에 장애가 발생했을 때, 전체 사용자에게 영향을 미치지 않아 장애 범위는 줄어들겠지만 여전히 부분적으로 서비스 장애가 발생

 > 해결책 : 로드밸런서

 

로드 밸런서

 > 서비스를 위한 가상 IP를 하나 제공하고,  사용자는 각 서버의 개별 IP 주소가 아닌 동일한 가상 IP를 통해 각 서버로 접근,

 또한 각 서버의 서비스 상태를 체크해 서비스가 가능한 서버로만 사용자의 요청을 분산

 > 서버에서 장애가 발생하더라도 기존 요청을 분산하여 다른 서버에서 서비스를 제공

 

계층별 로드 밸런서

L4 로드 밸런서

 > 일반적인 로드 밸런서가 동작하는 방식

 > TCP, UDP 정보(특히 포트넘버)를 기반으로 로드 밸런싱을 수행

 > 부하를 분산하는 기능 뿐만 아니라, TCP 계층에서의 최적화와 보안 기능을 함께 제공

 > 그러나 최근 사용되는 로드 밸런서는 4계층과 7계층의 기능을 모두 지원하기 때문에 4계층 로드밸런싱만 제공하는 경우는 찾기 어려움

 

L7 로드 밸런서

 > HTTP, FTP, SMTP와 같은 애플리케이션 프로토콜 정보를 기반으로 로드 밸런싱을 수행

 > HTTP 헤더 정보나 URI와 같은 정보를 기반으로 프로토콜을 이해한 후 부하를 분산

 > 이런 장비를 ADC(Application Delivery Controller)라고 부르며 리버스 프록시 역할을 수행

 > 대부분의 L7 로드밸런서는 4계층에서 7계층까지 로드밸런싱 기능을 제공하며, 장애극복(Failover), 리다이렉션의 기능도 함께 수행

 

 

'DevOps BootCamp > 네트워크 기초' 카테고리의 다른 글

프록시 캐시  (0) 2023.04.08
캐시  (0) 2023.04.07
프록시  (0) 2023.04.07
두 번째 발표  (0) 2023.04.07
첫 번째 발표  (0) 2023.04.06