소프트웨어 로드 밸런싱이란?
소프트웨어 로드 밸런싱은 관리자가 네트워크 트래픽을 여러 서버로 라우팅하는 방식입니다. 로드 밸런서는 애플리케이션 수준 특성(IP 주소, HTTP 헤더, 요청 내용)을 검사하여 클라이언트 요청을 평가합니다. 그런 다음 서버를 살펴보고 요청을 보낼 서버를 결정합니다.

최신 로드 밸런싱 개요

VMware NSX Advanced Load Balancer(Avi Networks 제공) - 데이터 시트
하드웨어 로드 밸런싱과의 차이점
소프트웨어 로드 밸런싱은 일반적으로 표준 서버 또는 가상 머신에서 실행되는 애플리케이션 제공 컨트롤러(ADC)의 기능으로 제공됩니다. 하드웨어 로드 밸런싱 기기(HLD)는 로드 밸런싱 소프트웨어를 실행하는 독립형 하드웨어입니다. 하나의 로드 밸런싱 기기에 장애가 발생할 경우를 대비하여 일반적으로 한 쌍으로 구축됩니다. 소프트웨어 로드 밸런싱은 HLD와 동일한 기능을 제공하지만, 전용 로드 밸런싱 기기가 필요하지 않습니다. 로드 밸런싱 소프트웨어는 일반 서버나 가상 서버에서도 실행할 수 있습니다.
소프트웨어 로드 밸런싱의 작동 방식
소프트웨어 로드 밸런싱은 하드웨어 로드 밸런싱과 동일한 방식으로 작동하여 선택한 알고리즘에 따라 서버 풀에서 트래픽을 분산합니다.
로드 밸런싱을 통해 여러 서버에 워크로드를 분산하면 네트워크의 효율성과 안정성을 높일 수 있습니다. 로드 밸런싱은 사용 가능한 서버를 보다 효율적으로 사용하기 때문에 네트워크 용량을 증가시킵니다. 결과적으로 로드 밸런싱을 사용하면 다른 서버들이 사용되지 않는 동안 과부하된 서버에서 워크로드가 중단되지 않기 때문에 네트워크가 더 빠르게 실행됩니다. 또한 로드 밸런싱은 장애가 발생한 서버에서 정상 작동 중인 서버로 트래픽을 전달하여 서버에 장애가 발생했을 때 중단 없는 가동 시간을 보장합니다.
로드 밸런싱의 여러 유형
소프트웨어 기반 로드 밸런서는 서버에 직접 설치할 수 있습니다. 또는 LBaaS(Load Balancer as a Service)로 구매할 수도 있습니다. LBaaS의 경우, Service Provider가 로드 밸런싱 소프트웨어의 설치, 구성 및 관리를 담당합니다. 소프트웨어 기반 로드 밸런서는 온프레미스 또는 외부에 위치할 수 있습니다.
서버와 마찬가지로, 로드 밸런싱 어플라이언스는 물리적 어플라이언스 또는 가상 어플라이언스일 수 있습니다. 물리적(하드웨어 로드 밸런싱) 및 가상(소프트웨어 로드 밸런싱) 어플라이언스는 모두 실시간으로 클라이언트 요청과 서버 사용량을 평가하고 다양한 알고리즘에 따라 여러 서버에 요청을 전송합니다. 트래픽이 전송되는 위치는 관리자가 설정한 로드 밸런싱 정책에 따라 다릅니다.
로드 밸런싱 방식
로드 밸런서는 다음 방식 중 하나를 사용하여 네트워크 트래픽을 전송할 위치를 결정합니다.
- 라운드 로빈 알고리즘: 라운드 로빈 알고리즘은 가장 간단한 로드 밸런싱 방식입니다. 사용 가능한 서버 목록을 통해 동일한 순서로 요청을 간단히 이동시킵니다.
- 최소 연결 알고리즘: 최소 연결 방법은 좀 더 정교합니다. 사용량이 가장 적은 서버 또는 특정 시점에 가장 적은 워크로드를 처리하는 서버에 요청을 전송합니다.
- 최소 시간 알고리즘: 최소 시간 알고리즘은 한 단계 더 나아가 가장 빠른 처리 속도와 가장 적은 활성 요청을 기준으로 서버를 선택합니다. 이 접근 방식은 가중 로드 밸런싱 알고리즘을 통합하여 용량, 컴퓨팅 또는 메모리가 더 높은 서버에 지속적으로 우선 순위를 부여할 수 있습니다.
- 해시 기반 알고리즘: 마지막으로 로드 밸런싱 어플라이언스가 클라이언트 및 서버의 소스 및 대상 IP 주소에 고유한 해시 키를 할당하는 해시 기반 알고리즘이 있습니다. 이렇게 하면 동일한 사용자가 다시 돌아와서 다른 요청을 하는 경우 해당 사용자 요청이 이전에 사용하던 서버로 전달됩니다. 또한 서버는 이전 세션에서 입력한 모든 데이터를 그대로 유지합니다.
소프트웨어 로드 밸런싱을 사용하는 이유
소프트웨어 로드 밸런싱은 하드웨어 로드 밸런싱 대비 다음과 같은 여러 이점을 제공하기 때문에 인기를 얻고 있습니다.
- 확장성: 하드웨어 로드 밸런싱 기기 대비 소프트웨어 로드 밸런서의 가장 큰 장점은 확장성입니다. 소프트웨어 로드 밸런서는 수요에 따라 가상 서버를 추가하거나 삭제하여 네트워크 트래픽 변동에 실시간으로 자동 대응할 수 있습니다.
- 유연성: 또한 소프트웨어 로드 밸런서는 다양한 환경과 호환되므로 하드웨어 로드 밸런서보다 더 유연합니다. 표준 데스크톱 운영 체제, 클라우드 환경, 베어메탈, 가상 서버 및 컨테이너에서 작동하도록 프로그래밍할 수 있습니다. 하드웨어 로드 밸런서는 프로그래밍할 수 없기 때문에 유연성이 떨어집니다.
- 비용: 특히 LBaaS를 사용하는 조직은 소프트웨어 로드 밸런서를 통해 비용을 절감할 수 있습니다. IT 조직이 자체 소프트웨어 로드 밸런서를 구매하더라도 일반적으로 비용은 하드웨어 로드 밸런서로 분류되는 자본 비용 대신 운영 비용으로 간주됩니다.
- 간편한 배포: 하드웨어 로드 밸런서는 설치가 어렵고 비용이 많이 들 수 있지만, 소프트웨어 로드 밸런서는 온디맨드로 쉽게 배포할 수 있으므로 비용을 절감하고 시간을 절약할 수 있습니다.
- 보안: 마지막으로, 클라이언트와 서버 사이에 위치하는 로드 밸런싱 소프트웨어는 의심스러운 패킷이 서버에 도달하기 전에 거부하는 기능을 통해 추가 보안 계층을 제공합니다.
소프트웨어 로드 밸런싱은 하드웨어 로드 밸런싱에 비해 몇 가지 확실한 이점을 제공하는 것으로 보이지만, IT 조직은 비즈니스의 고유한 요구 사항을 기준으로 하드웨어, 소프트웨어, 서비스형 로드 밸런싱의 장단점을 비교 평가해야 합니다. 소프트웨어 로드 밸런서와 하드웨어 로드 밸런서 중에서 고려하고 있는 조직은 예산 관리 측면에서 각 로드 밸런서의 이점을 평가하는 것이 좋습니다. 모든 유형의 로드 밸런싱을 올바르게 구성하고 관리하면 네트워크의 효율성과 안정성을 높일 수 있습니다.
관련 솔루션 및 제품
멀티 클라우드 로드 밸런싱 솔루션
로드 밸런싱에 대한 간편하고 현대적인 접근 방식으로 안전하고 응답성이 뛰어납니다.
NSX Advanced Load Balancer
멀티 클라우드 로드 밸런싱 플랫폼
NSX Data Center
네트워크 및 보안 가상화 플랫폼