로드 밸런서란?

로드 밸런서를 사용하면 리소스(온프레미스 또는 클라우드)에 네트워크 트래픽을 동적으로 분산하여 애플리케이션을 지원할 수 있습니다.

로드 밸런서는 트래픽 프록시 역할을 하고 네트워크 또는 애플리케이션 트래픽을 다수의 서버에 있는 엔드포인트에 분산시키는 솔루션입니다. 로드 밸런서는 최고 트래픽 시간 동안 용량을 분산시키고 애플리케이션의 신뢰성을 높이기 위해 사용됩니다. 개별 서버 또는 클라우드에 대한 부담을 줄여 전반적인 애플리케이션 성능을 개선하고, 여러 컴퓨팅 표면에 수요를 분산시켜 애플리케이션 및 네트워크 세션을 유지 관리하는 데 도움을 줍니다.

최신 애플리케이션은 수백만 개의 세션을 동시에 처리하고 각 사용자에게 올바른 텍스트, 비디오, 이미지 및 기타 데이터를 빠르고 안정적인 방식으로 반환해야 합니다. 이러한 대량의 트래픽을 처리하기 위해 대부분의 애플리케이션은 많은 리소스 서버가 있으며 그 중에는 중복되는 데이터가 포함되어 있습니다.

로드 밸런싱은 애플리케이션을 지원하는 리소스 네트워크 전체에 네트워크 트래픽을 동적으로 분산합니다. 로드 밸런서는 사용자와 서버 그룹 사이에 위치하며 보이지 않는 조력자 역할을 하는 디바이스 또는 서비스로, 모든 리소스 서버가 균등하게 사용되도록 합니다. 로드 밸런서는 사용량과 수요가 많은 시기에도 안정성과 가용성을 높이고, 가동 시간을 늘리고, 사용자 환경을 개선하는 데 도움을 줍니다.

로드 밸런싱의 이점

사용자와 고객은 정보를 찾고 거래를 수행하기 위해 거의 실시간에 가까운 기능에 의존합니다. 지연 시간이나 불안정하고 일관성 없는 응답은 고객을 영원히 떠나게 할 수 있으며, 이는 수요와 사용량이 가장 많은 시간대에도 마찬가지입니다. 또한 컴퓨팅 요구가 급증하면 유입되는 수요(또는 “부하”)가 너무 높아 쉽게 수용할 수 없는 경우 내부 서버 또는 서버 시스템에 큰 혼란을 초래할 수 있습니다.

로드 밸런서 사용의 장점은 다음과 같습니다.

  • 애플리케이션 가용성: 내부 및 외부 사용자는 모두 애플리케이션 가용성을 신뢰할 수 있어야 합니다. 애플리케이션 또는 기능이 작동되지 않거나 지연되거나 멈추면 소중한 시간을 잃게 되며 고객을 경쟁업체로 유도할 수 있는 잠재적인 마찰의 원인이 됩니다.
  • 애플리케이션 확장성: 티켓 판매 회사를 운영하고 있는데 특정 날짜와 시간에 인기 공연의 티켓이 판매된다고 발표되었다고 가정해 보겠습니다. 수천 명 이상의 사람들이 티켓을 구매하기 위해 사이트에 접속하려고 할 수 있습니다. 로드 밸런서가 없는 경우 단일/첫 번째 서버가 수용할 수 있는 범위로 사이트가 제한될 것이고 많은 수요를 수용하지 못할 가능성이 큽니다. 대신 로드 밸런서를 통해 요청과 트래픽을 사용 가능한 다른 컴퓨팅 표면으로 전달함으로써 이러한 대규모 트래픽 급증을 대비할 수 있습니다. 이는 더 많은 고객이 원하는 티켓을 구매할 수 있다는 의미이기도 합니다.
  • 애플리케이션 보안: 로드 밸런싱을 통해 조직은 보안 솔루션을 확장할 수도 있습니다. 주요 방법 중 하나는 여러 백엔드 시스템에 트래픽을 분산하여 공격 표면을 최소화하고 리소스를 고갈시키거나 링크를 포화시키기 어렵게 만드는 것입니다. 또한 로드 밸런서는 한 시스템이 취약하거나 손상된 경우 트래픽을 다른 시스템으로 리디렉션할 수도 있습니다. 특정 서버가 취약한 경우 서버 간에 트래픽을 라우팅하여 DDoS 공격으로부터 보호하는 추가 레이어를 제공할 수도 있습니다.
  • 애플리케이션 성능: 로드 밸런서는 위의 모든 작업을 수행하여 애플리케이션 성능을 향상시킵니다. 보안을 강화하고, 가동 시간을 최적화하고, 수요 급증 시 확장성을 지원함으로써 로드 밸런서는 애플리케이션이 설계된 대로 그리고 사용자와 고객이 원하는 방식으로 작동되도록 합니다.

로드 밸런싱 알고리즘

로드 밸런싱 알고리즘은 작동 방식에 따라 정적 로드 밸런싱과 동적 로드 밸런싱의 두 가지 유형이 있습니다. 정적 로드 밸런싱은 분산 네트워크의 기존 서버에 대한 성능 용량 정보가 있는 알고리즘을 사용하여 서버로 유입되는 부하를 측정합니다. 동적 로드 밸런싱은 런타임 중에 분산해야 하는 부하량과 부하를 감당해야 하는 시스템을 동적으로 파악할 수 있으며, 유입되는 부하 변동이 큰 시스템을 위해 설계되었습니다.

다음은 일반적인 유형의 로드 밸런싱 알고리즘입니다.

  • 라운드 로빈: 이 알고리즘은 DNS(도메인 이름 시스템)를 사용하여 차례로 서버 목록으로 트래픽을 전송합니다. (참고: DNS로드 밸런싱은 동적 솔루션이 될 수도 있습니다.)
  • 임계값: 이 알고리즘은 관리자가 설정한 임계값에 따라 작업을 분산시킵니다.
  • 무작위로 2개 선택: "2의 거듭제곱" 알고리즘은 두 서버를 무작위로 선택한 다음, 최소 연결 알고리즘 또는 최소 시간 알고리즘을 적용하여 선택한 서버로 요청을 전송합니다(해당 서버가 구성된 경우).
  • 최소 연결: 현재 클라이언트에 대한 연결 수가 가장 적은 서버로 새 요청이 전송됩니다. 각 서버의 상대적인 컴퓨팅 용량을 고려하여 연결이 가장 적은 서버 또는 대역폭이나 리소스를 가장 적게 사용하는 서버를 결정합니다.
  • 최소 시간: 이 알고리즘에서는 가장 빠른 응답 시간과 가장 적은 활성 연결을 결합한 공식을 사용하여 선택한 서버로 요청이 전송됩니다.
  • URL 해시: 이 알고리즘은 클라이언트 요청에 있는 URL에 따라 해시 값을 생성합니다. 요청은 해시 값에 기반한 서버로 전달됩니다. 로드 밸런서는 URL의 해시 값을 캐시하므로 동일한 URL을 사용하는 후속 요청은 캐시 적중이 발생하고 동일한 서버로 전달됩니다.
  • 소스 IP 해시: 이 알고리즘은 클라이언트의 소스 및 대상 IP 주소를 사용하여 클라이언트를 특정 서버에 연결하는 고유 해시 키를 생성합니다. 세션 연결이 끊어지면 키를 다시 생성할 수 있으므로 재연결 요청이 이전에 사용된 동일한 서버로 리디렉션될 수 있습니다.
  • 일관된 해싱: 이 알고리즘은 클라이언트와 서버를 링 구조에 매핑하며 각 서버는 용량에 따라 링의 여러 지점에 할당됩니다. 클라이언트 요청이 들어오면 링의 한 지점에 해싱된 후 사용 가능한 다음 서버로 시계 방향으로 동적으로 라우팅됩니다.

로드 밸런싱 작동 방식

로드 밸런싱은 사용자 요청에 정적 또는 동적으로 응답하고 요청을 처리할 수 있는 백엔드 서버 중 하나에 해당 요청을 분산하는 방식으로 작동합니다. 서버 중 하나가 가동 중단되면 로드 밸런서가 트래픽을 온라인 상태의 나머지 서버로 리디렉션합니다.

로드 밸런싱의 예

정적 로드 밸런싱 예: 한 회사에서 대부분 정적인 콘텐츠가 있는 웹사이트를 호스팅합니다. 이 시나리오는 트래픽 요구 사항이 예측 가능하고 일정하기 때문에 정적 로드 밸런서에 적합합니다. 이 회사는 정적 로드 밸런서가 트래픽을 분산할 수 있는 동일한 웹 서버 두 대(또는 그 이상)를 사용할 수 있습니다.

동적 로드 밸런싱 예: 한 회사에서 트래픽의 급증, 폭증 및 급감을 경험하고 있습니다. 일부는 예측 가능한 경우도 있고 예측 불가능한 경우도 있습니다. 이러한 조직은 동적 로드 밸런싱의 이점을 이용할 수 있습니다. 이러한 회사에는 블랙 프라이데이 영업 시간 및 날짜를 발표하는 전자 상거래 소매업체, 계절별 백신의 온라인 예약이 가능하다고 발표한 의료 회사, 실업 보험 수급자가 특정 요일에 매주 실업 수당을 신청해야 하는 실업 관련 정부 기관, 자연 재해에 온라인으로 신속하게 대응해야 하는 구제 단체 등이 있습니다. 이러한 트래픽 및 수요의 급증 및 폭증 중 일부는 계획할 수 있지만 계획할 수 없는 경우도 있습니다. 이러한 시나리오에서 동적 로드 밸런싱 알고리즘은 고객과 사용자가 가장 필요할 때 앱과 리소스에 대한 액세스를 보장할 수 있습니다.

다양한 유형의 로드 밸런서

개방형 시스템 간 상호 연결(OSI) 모델이라고 하는 아키텍처에는 다양한 기능을 갖춘 여러 유형의 로드 밸런서가 존재합니다. 이 모델에는 7개의 레이어가 있습니다. 네트워크 방화벽은 1~3수준(L1-물리적 배선, L2-데이터 링크, L3-네트워크)에 있습니다. 반면 로드 밸런싱은 4~7레이어(L4-전송, L5 세션, L6-프레젠테이션 및 L7 애플리케이션)에서 수행됩니다. 일반적으로 로드 밸런서는 레이어 4와 레이어 7에서 사용됩니다.

  • 레이어 4 로드 밸런서는 네트워크 및 전송 레이어 프로토콜(IP, TCP, FTP, UDP)의 데이터를 기반으로 트래픽을 전달합니다.
  • 레이어 7 로드 밸런서는 애플리케이션 레이어 프로토콜에 있는 데이터를 기반으로 요청을 분산하는데, HTTP 헤더, 쿠키, 인터넷 식별자(URI), SSL 세션 ID, HTML 양식 데이터 등이 포함됩니다. 또한 특정 매개변수 값 등과 같은 애플리케이션 메시지 자체 내의 데이터를 기반으로 라우팅을 결정할 수 있습니다. 레이어 7은 로드 밸런싱에 콘텐츠 전환 기능을 추가합니다.

클라우드 기반 로드 밸런서

클라우드 기반 로드 밸런서는 단순히 트래픽 급증과 서버 사용 최적화를 위한 트래픽 컨트롤러가 아닙니다. 또한 클라우드 네이티브 로드 밸런서는 예측 분석을 제공하여 트래픽 병목 지점이 발생하기 전에 시각화할 수 있습니다. 이를 통해 모든 기업이 IT 솔루션을 최적화하는 데 도움이 되는 실행 가능한 인사이트를 제공합니다.

애플리케이션 로드 밸런싱: 기업이 애플리케이션 성능과 가용성에 점점 더 의존함에 따라 애플리케이션 로드 밸런싱은 확장, 운영 간소화, 비용 절감에 도움이 될 수 있습니다.

Global Server Load Balancing: 전 세계에 사용자와 고객을 보유한 기업은 사용자와 가장 가까운 엔드포인트로 해당 사용자를 보내는 Global Server Load Balancing을 통해 부하 가용성을 향상시킬 수 있습니다.

DNS 로드 밸런싱: 도메인에 대한 사용자 요청이 여러 서버 컴퓨터 그룹에 분산되도록 DNS(도메인 이름 시스템)에서 도메인을 구성하는 작업을 DNS 로드 밸런싱이라고 합니다.

네트워크 로드 밸런싱: 애플리케이션 딜리버리 컨트롤러(ADC)는 물리적 서버의 프록시 역할을 하는 물리적 또는 가상 어플라이언스로, 애플리케이션 또는 네트워크 기능을 관리하고 네트워크 로드 밸런싱 솔루션을 사용하여 이를 지원합니다.

HTTP(S) 로드 밸런싱: 리소스 사용률을 최적화하기 위해 여러 웹 또는 애플리케이션 서버 그룹에 트래픽을 분산하는 기술을 HTTP(S) 로드 밸런싱이라고 합니다.

내부 로드 밸런싱: 내부 로드 밸런서는 프라이빗 서브넷에 할당되며 퍼블릭 IP가 없습니다. 일반적으로 서버 팜 내에서 작동합니다.

Diameter: Diameter 로드 밸런서는 네트워크의 여러 서버에 신호 트래픽을 분산합니다. 이를 수행하는 가장 비용 효율적인 방법 중 하나는 데이터 전송 레이어가 아닌 Diameter 컨트롤 플레인을 확장하는 것입니다. (Diameter 로드 밸런싱은 정적 또는 동적일 수 있습니다.)

로드 밸런서 기술

로드 밸런서 솔루션에는 단독으로 사용하거나 클라우드 네이티브 로드 밸런서와 함께 네트워크에서 사용할 수 있는 다른 유형이 있습니다. 다음은 몇 가지 주목할 만한 유형입니다.

하드웨어 로드 밸런서: 하드웨어 로드 밸런서는 일반적으로 온프레미스에 있는 여러 애플리케이션 서버에 웹 트래픽을 분산하도록 프로그래밍할 수 있는 특수한 운영 체제를 갖춘 물리적 디바이스입니다.

소프트웨어 로드 밸런서: 소프트웨어 로드 밸런서는 물리적 로드 밸런서처럼 작동하지만 소프트웨어 프로그램에서 실행됩니다. 소프트웨어는 정적 및 동적 로드 밸런싱을 모두 사용하여 단일 장애 지점을 제거함으로써 모든 종류의 트래픽 수요에서 앱을 계속 사용할 수 있도록 합니다.

가상 로드 밸런서: 가상 로드 밸런서는 하드웨어 로드 밸런서와 소프트웨어 로드 밸런서를 결합한 로드 밸런서 유형으로, 하드웨어 백엔드 서버 간에 네트워크 트래픽 부하를 분산하는 데 도움이 되는 애플리케이션 딜리버리 컨트롤러 소프트웨어를 사용합니다.

F5의 지원 방법

조직의 요구 사항에 적합한 로드 밸런서를 찾는 것은 시스템의 가용성과 최적화, 데이터 액세스 가능성, 사용자와 고객의 만족도를 유지하는 데 매우 중요합니다.

F5는 정적 솔루션부터 하드웨어, 소프트웨어 및 클라우드 기반 로드 밸런서의 강점을 결합한 통합 글로벌 솔루션에 이르기까지 조직의 특정 로드 밸런서 요구 사항을 해결할 수 있습니다. F5는 고유한 비즈니스 요구 사항에 맞는 로드 밸런싱 알고리즘 또는 솔루션을 보유하고 있습니다.

BIG-IP 애플리케이션 서비스는 디지털 애플리케이션 서비스를 관리, 확장 및 최적화하는 통합 솔루션을 제공합니다. 또한 BIG-IP Local Traffic Manager(LTM)에는 단일 장애 지점을 제거하는 정적 및 동적 로드 밸런싱 기능이 포함되어 있습니다. F5 BIG-IP DNS는 애플리케이션 전반에 로드 밸런싱을 적용하고 이를 전 세계적으로 적용하여 애플리케이션이 항상 가동되고 고객의 요구에 응답하도록 보장합니다.

F5 Distributed Cloud DNS 로드 밸런서는 안정적인 재해 복구 기능을 갖춘 간단한 로드 밸런싱 솔루션을 제공하므로 개발팀은 비즈니스 혁신을 지원하는 데 집중할 수 있습니다.

F5 Distributed Cloud App Connect는 엣지를 포함한 모든 유형의 환경에서 앱과 서비스를 안전하게 연결하여 로드 밸런싱을 지원합니다.

F5는 앱, 트래픽, 데이터 및 컴퓨팅 표면을 최적화된 상태로 유지할 수 있는 포괄적인 로드 밸런싱 솔루션 제품군을 제공합니다.