로드밸런서 UPDATE

서버 부하를 다수의 서버로 분산시켜 증가하는 트래픽에 대응할 수 있습니다

로드밸런서란?

클라이언트의 요청을 여러 서버로 분산하여 가용성을 유지할 수 있도록 돕는 네트워크 서비스입니다.
한 서버로 집중되는 트래픽을 병렬 처리함으로써 서버 과부화로 인한 장애를 방지할 수 있습니다.

이런 고객에게 로드밸런서를 추천합니다

  • 한 서버에 발생하는 트래픽 병목 현상을 방지하고 싶은 고객
  • 대규모 이벤트를 진행하여 대용량 트래픽 처리가 필요한 고객
  • 리소스를 균등하게 배분하여 애플리케이션 성능을 향상하고 싶은 고객
  • 트래픽과 세션을 실시간으로 모니터링하고 악성 콘텐츠를 차단하고 싶은 고객
  • 클라이언트 요청을 지리적으로 가까운 서버로 보내 응답 시간을 단축하고 싶은 고객

이용 사례

  • 로드밸런서를 통해 웹 서버 부하를 분산시키는 구성

  • 로드밸런서를 이중으로 배치하여, 웹 서버와 웹 애플리케이션 서버(WAS) 부하를 분산시키는 구성

주요 기능

  • 프로토콜 지원

    HTTP, HTTPS, TCP Terminated-HTTPS 등 다양한 프로토콜을 지원합니다.

  • 다중 SSL 인증서 설정

    SNI(Server Name Indicator)를 기반으로 여러 개의 인증서를 하나의 포트에 설정할 수 있습니다.

  • 방화벽 그룹

    방화벽 그룹을 통해, IP 대역 및 포트 번호를 기반으로 트래픽을 제어할 수 있습니다.

  • 밸런스 모드

    Round Robin, Least Connection, Hash-Source IP 등 다양한 밸런스 모드를 지원합니다.

  • 세션 쿠키 설정

    세션 쿠키를 통해, 동일한 웹브라우저로 들어온 요청에 대해 동일한 서버로 트래픽을 분배할 수 있습니다.

  • 타임아웃 설정

    응답이 늦어지는 요청에 대해 세션 유지 기간을 설정해 효과적으로 트래픽을 관리할 수 있습니다.

  • 프록시 설정

    x-forwarded-for/proto/port 설정 가능이 가능합니다.

  • 로드밸런서 모니터링

    1분 단위로 수집된 연결 세션수와 초당 세션 처리수를 통계로 제공하며, In/Outbound 트래픽 모니터링을 지원합니다.

요금

FAQ

가비아 클라우드 Gen2에서는 프로젝트당 생성할 수 있는 로드밸런서의 기본 한도가 설정되어 있습니다.

  1. 로드밸런서 생성 한도
    • 기본 생성 한도: 프로젝트당 최대 10개
    • 추가 로드밸런서가 필요한 경우, 가비아 클라우드 고객센터를 통해 한도 상향을 신청할 수 있습니다.
  2. 로드밸런서 생성 시 유의사항
    • 로드밸런서는 유한한 리소스이므로 필요할 때만 생성하는 것이 좋습니다.
    • 사용하지 않는 로드밸런서는 삭제하여 리소스를 효율적으로 관리하세요.
    • 연결된 리소스(예: 서버, IP, 리스너 등)를 삭제하거나 변경 시, 로드밸런서 설정이 변경되며, 로드밸런서가 재기동됩니다.

인터넷에 연결된 로드밸런서(퍼블릭 로드밸런서)를 생성하려면, 로드밸런서가 연결된 네트워크의 라우터 외부망 연결과 공인 IP 설정이 필요합니다.

  1. 라우터 외부망 연결 확인
    • ① 가비아 클라우드 Gen2 콘솔에 로그인합니다.
    • ② 좌측 메뉴에서 [네트워크] > [라우터]를 선택합니다.
    • ③ 로드밸런서가 생성된 네트워크의 라우터를 선택합니다.
    • ④ 라우터 상세 화면에서 [외부망 연결] 옵션이 활성화되어 있는지 확인합니다.
  2. 로드밸런서에 공인 IP 할당
    • ① 좌측 메뉴에서 [네트워크] > [로드밸런서]를 선택합니다.
    • ② 공인 IP를 할당할 로드밸런서를 클릭하고, [네트워크] 탭을 확인합니다.
    • ③ 공인 IP 섹션에서, [연결]을 클릭하여 해당 로드밸런서에 공인 IP를 연결합니다.

※ 인터넷 연결 여부는 라우터 외부망 연결 설정과 공인 IP 할당 상태에 따라 결정됩니다. 설정 후 반드시 확인하세요.

가비아 클라우드 Gen2 로드밸런서에서는 트래픽을 효율적으로 분배하기 위해 다양한 알고리즘을 제공합니다. 아래는 지원되는 주요 알고리즘입니다.

  1. Round-Robin
    • 지정된 서버에 공평하게 순차적으로 요청을 전달하는 방식입니다.
    • 서버 커넥션 수나 응답 시간에 상관없이 그룹 내의 모든 서버를 동일하게 처리합니다.
    • 일반적인 구성에서는 다른 알고리즘에 비해 가장 빠르고 간단한 방식입니다.
  2. Least Connection
    • 클라이언트의 요청을 가장 적은 수의 커넥션이 연결된 서버로 할당하는 방식입니다.
    • 서버 성능이 비슷하게 구성되어 있을 때, 가장 효과적인 트래픽 분산이 가능합니다.
    • 서버의 부하를 균등하게 분산하기에 적합합니다.
  3. Source IP Hash
    • 클라이언트의 Source IP 정보를 바탕으로 해시한 결과로 로드밸런싱을 실행합니다.
    • 클라이언트와 서버 간의 세션을 고정적으로 유지할 수 있습니다.
    • SSL 프로토콜을 사용할 때 권장되는 알고리즘입니다.

※ 각 알고리즘은 서비스 요구 사항과 네트워크 환경에 따라 선택하여 사용해야 합니다.

가비아 클라우드 Gen2 로드밸런서의 Health Check(상태 확인)는 모니터링 주기, 타임아웃, 최대 재시도 횟수에 따라 동작하며, 아래와 같은 정책을 따릅니다.

  1. Health Check 주기 정책
    • 모니터링 주기: 5초
    • 타임아웃: 3초
    • 최대 재시도 횟수: 3회
  2. 정책 상세 설명
    • 모니터링 주기: 로드밸런서가 연결된 서버의 상태를 확인하는 간격입니다. 요청 간격은 5초입니다.
    • 타임아웃: Health Check 요청에 대해 서버가 응답을 반환할 때까지 대기하는 시간으로, 최대 3초까지 기다립니다.
    • 최대 재시도 횟수: 서버가 비정상 상태로 감지되었을 때 재검증을 시도하는 횟수로, 최대 3회까지 재시도합니다.
  3. Health Check 결과
    • 지정된 재시도 횟수(3회) 동안 서버가 응답하지 않거나 비정상 상태로 감지되면 해당 서버는 비활성화 상태로 간주됩니다.
    • 정상 상태로 돌아온 서버는 다음 Health Check 주기에 다시 활성화 상태로 전환됩니다.

리스너(Listener)는 로드밸런서의 구성 요소로, 클라이언트 요청을 수신하는 포트 및 프로토콜을 정의하는 역할을 합니다.
로드밸런서의 리스너를 통해 클라이언트가 지정된 포트와 프로토콜(예: HTTP, HTTPS)을 사용하여 트래픽을 전달할 수 있습니다.

리스너의 주요 역할

  • 요청 수신: 클라이언트가 보내는 네트워크 요청을 지정된 포트와 프로토콜로 수신합니다.
  • 트래픽 분배: 수신된 요청을 로드밸런서를 통해 대상 서버로 전달합니다.
  • 보안 강화: HTTPS 리스너를 구성하면 SSL 인증서를 통해 암호화된 트래픽을 처리할 수 있습니다.

리스너의 활용 사례

  • HTTP 요청 처리: 웹 서비스에서 클라이언트의 HTTP 요청을 수신하여 여러 웹 서버로 트래픽을 분배합니다.
  • HTTPS 트래픽 처리: SSL 인증서를 적용해 암호화된 트래픽을 처리하고, 보안성을 강화합니다.
  • 멀티 프로토콜 지원: HTTP, HTTPS, TCP 등 다양한 프로토콜 기반의 트래픽 처리를 지원합니다.
※ 리스너는 로드밸런서의 핵심 구성 요소로, 정확한 포트 및 프로토콜 설정이 필요합니다.
로드밸런서는 클라이언트의 요청을 두 개 이상의 서버로 분배할 수 있는 네트워크 서비스를 의미합니다. 이러한 병렬처리를 통해, 사용자는 한 서버로 집중되는 클라이언트의 요청을 여러 서버로 분산시킬 수 있으며, 서버 과부하로 인한 장애를 방지해 서비스 가용성을 향상 시킬 수 있습니다.

제공되는 로드밸런서의 사양은 아래와 같습니다.

  • VPC 플랫폼에서는 초당 100,000개의 연결 수를 처리할 수 있는 로드밸런서를 제공합니다.
  • Classic 플랫폼에서는 초당 50,000개의 연결 수를 처리할 수 있는 로드밸런서를 제공합니다.

    * Request/Response Packet Size 1KB 테스트 기준입니다.

대규모 이벤트를 준비하거나, 대용량 처리가 필요한 경우에는 02-3473-3911 혹은 [고객센터>1:1 문의] 로 문의해 주시기 바랍니다.

1. 클라우드 관리콘솔 접속
2. 로드밸런서 생성 시작
3. 로드밸런서 기본 설정
4. 로드밸런서 추가 옵션 설정
5. 로드밸런서 생성 완료
2. 로드밸런서 생성 시작: [로드밸런서 생성] 버튼을 클릭합니다.
3. 로드밸런서 기본 설정: 서비스 존, 서브넷, 로드밸런서 타입, 공인 IP, 방화벽 그룹을 선택합니다. 로드밸런서 이름, 설명, 로드밸런서 포트 설정을 입력합니다.
4. 로드밸런서 추가 옵션 설정: 밸런스 모드, 타임아웃 설정, 세션 설정, 프록시 설정, 보안 정책을 설정합니다.
5. 로드밸런서 생성 완료: 몇 초 이내에 로드밸런서 생성이 완료되며, 자원 목록에서 생성된 로드밸런서를 확인할 수 있습니다.

자세한 사항은 [매뉴얼: 로드밸런서 생성하기] 에서 확인할 수 있습니다.

External 로드밸런서는 공인 IP가 할당되는 로드밸런서로 공인 IP를 통해 인터넷과 통신할 수 있습니다.

반면, Internal 로드밸런서는 사설 IP가 할당되는 로드밸런서로 사설 IP를 통해 사용자의 다른 자원과 통신하거나 웹방화벽(단독가상장비)을 로드밸런서의 리버스 프록시(Reverse proxy)로 구성하는데 사용할 수 있습니다.

가비아 클라우드 Gen1 로드밸런서는 포트별로 어떤 프로토콜로 통신할지 설정할 수 있으며, ‘HTTP’, ‘TCP’, ‘HTTPS’, ‘HTTPS(Offloading)’ 총 네 가지 프로토콜을 지원하고 있습니다.

  • HTTPS: 클라이언트와 로드밸런서, 로드밸런서와 서버가 모두 HTTPS를 기반으로 통신합니다. 로드밸런서와 서버 모두에 SSL 인증서를 설정해야 합니다.
  • HTTPS(Offloading): 클라이언트와 로드밸런서는 HTTPS를 기반으로 통신하고, 로드밸런서와 서버는 HTTP를 기반으로 통신합니다. 로드밸런서에만 SSL 인증서를 설정해야 하며, ‘HTTPS’ 방식보다 암호화 구간이 적어 더 효율적으로 통신할 수 있습니다.

밸런스 모드를 통해 클라이언트의 요청이 어떤 방식으로 서버에 분배될지를 선택할 수 있습니다.

  • Round Robin: 클라이언트의 요청을 각 서버로 순차적으로 분배하는 방식입니다.
  • Least Connection: 클라이언트의 요청을 작업량이 가장 적은 서버에 우선 분배하는 방식입니다.
  • Hash-Source IP: 클라이언트의 요청 발생 시, 클라이언트의 IP를 Hash 한 후 Hash 값을 기준으로 동일한 클라이언트의 요청은 동일한 서버로 트래픽을 분배하는 방식입니다.

공인 IP를 기반으로 통신하는 External 타입의 로드밸런서의 경우, 로드밸런서당 월 1TB의 국내 트래픽과 50GB의 해외 트래픽이 무료로 제공됩니다.
무료 트래픽 사용량 초과분에 대해서는 아래 표를 기준으로 요금이 부과됩니다.

구분월 트래픽 사용량에 따른 비용 (1GB당)
0 ~ 50GB50GB ~ 1TB1TB ~ 5TB5TB - 10TB10TB ~ 30TB30TB ~
국내 트래픽무료무료100원90원80원70원
해외 트래픽무료500원500원450원400원350원

사설 IP를 기반으로 통신하는 Internal 타입의 로드밸런서의 경우, 트래픽 비용이 부과되지 않습니다.

로드밸런서가 생성된 서비스 존과 관계없이 대상 서버를 설정할 수 있습니다.

공인 IP의 경우, 대상 서버 설정과 달리 로드밸런서가 동일한 서비스 존에 생성된 경우에만 공인 IP를 할당할 수 있습니다.

전체 보기