강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]Load Balancer 상품 개요

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

목적/용도
Load Balancer(로드밸런서)는 클라이언트의 요청 처리를 단일 서버에서 처리하지 않게 함으로써, 가용성과 응답시간을 최적화 할 수 있습니다.
로드밸런서는 KT Cloud Server의 부가 서비스로 제공되며, 고객이 사용 중인 서버를 Back-end로 지정할 수 있습니다.
KT Cloud 로드밸런서 특징
구분내용
지원 메소드 (부하분산 알고리즘)Round Robin, Hashing (Source IP/Source IP+Port), Least Connection, Least Response
모니터링Throughput, Server Connections, TTFB, Request Connections, 상태(UP/DOWN)
서비스 타입HTTP / TCP / HTTPS(Bridge) / HTTPS / FTP
대역폭On-Demand
가격LB 사용 시간: 20원/시간, 데이터 처리량: 6원/GB, 데이터 처리량(SSL): 9원/GB
안정성이중화 구성(Active/Standby)
로드밸런싱의 개념
  • KT Cloud의 로드밸런싱(부하분산)은 리소스의 활용을 최적화 하기 위해 클라이언트의 요청을 여러 가상 서버(VM)에 분산시켜 주기 위한 기능입니다.
  • 만약 한 가지 종류의 서비스를 한 대의 서버에서 지원할 경우 많은 수의 클라이언트 요청에 대하여 과부하가 발생하고 서버 성능이 저하될 수 있습니다.
  • 로드밸런서가 클라이언트의 요청을 수신하면 고객 서비스 영역 안에 있는 여러 가상 서버로 분산하여 정보를 처리할 수 있도록 합니다.
  • 이때 고객은 필요에 따라 특정한 메소드(알고리즘)를 선택하여 부하를 분산 시키는 방법을 다르게 적용시킬 수 있습니다.
로드밸런싱의 처리 과정 대하여 간단한 도식을 해보면 다음과 같습니다.
  • 위 그림에서와 같이 클라이언트는 실제 back-end에 위치한 서버의 주소가 아닌, 가상 IP주소(Virtual IP;VIP)로 접근합니다.
  • VIP로 들어온 클라이언트 요청은 로드밸런서에 설정한 로드밸런서 옵션에 따라 back-end 서버들 중 적합한 대상 IP/Port를 설정합니다.
  • 설정 된 대상 IP/Port 주소를 기반으로 클라이언트 요청은 포트포워딩 NAT기능을 하는 가상 라우터(Virtual Router; VR)를 통해 각 서비스에 도달하게 됩니다.
KT Cloud 에서 로드밸런싱 서비스를 사용하는 절차는 다음과 같습니다.
  • 로드밸런서 서비스를 신청하고 로드밸런서에 접근하기 위한 공인 IP(Public IP)를 할당합니다.
  • 이 때 할당 방법은 미리 생성해 둔 가상 IP를 사용하거나 자동으로 신규 IP를 발급받도록 설정할 수 있습니다.
  • 로드밸런서에 등록 할 back-end 서버를 지정한 뒤, 최종 생성 신청을 완료 합니다.
  • 로드밸런서 생성 완료 직후 연결 상태는 'DOWN'로 나타나며 이는 네트워크 연결 과정이 진행 중인 상태로
  • back-end 서버가 정상적으로 동작하고 있다면 일정 시간 후 'UP'으로 변경 됩니다.
로드밸런싱의 핵심 특징
항목특징
보안성SynAttack 방어에 뛰어난 성능을 지님
수용성로드밸런서는 고성능을 요구하는 중/대형 고객에 적합
서비스HTTP/HTTPS(Bridge)/TCP/FTP 로드밸런싱 제공
성능TCP Offload 를 이용한 웹서버 부하 경감 구현(HTTP 방식 사용시)
기타http header(X-Forwarded-For)를 이용한 Client IP 제공(HTTP 방식 사용시)
로드밸런싱 메소드
KT Cloud Server의 로드밸런싱 메소드(이하 옵션)는 총 5가지 옵션을 지원하고 있습니다.
Round Robin
Round Robin 방식은 클라이언트의 요청을 단순하게 들어온 순서대로 순환을 하여 로드밸런싱을 처리하는 방법입니다.
  • 위 그림과 같이 back-end에 3개의 서버가 존재하는 경우 '서버 1' 부터 '서버 3' 까지 새로운 연결이 생길 떄 마다, 1-2-3-1-2...과 같이 순환을 하는 방식입니다.
  • 응답 시간이 빠르고 구성이 단순하다는 점이 장점입니다.
  • 단, back-end 서버에 균등한 부하 분산이 이루어지지 않으며 무조건 순차적으로 포워딩 하므로 결제 시스템과 같이 연결 유지에 높은 신뢰가 요구되는 서비스인 경우 추천하지 않습니다.
Hashing(Source IP, Source IP+Port)
  • Hash 방식은 client 의 Source IP 정보 또는 Source IP + Port 정보를 바탕으로 hash 한 결과 값을 토대로 로드밸런싱을 수행합니다.
  • 특정한 노드는 항상 동일한 Hash 값을 가지기 때문에, 동일한 클라이언트의 요청은 동일한 back-end 서버에서 응답을 받도록 하고자 할 때 주로 사용합니다.
Source IP 방식
  • 출발지(Source IP)주소를 기반으로 hash 값을 생성하여 hash 값을 기준으로 로드밸런싱을 수행합니다.
  • 출발지가 동일한 주소는 항상 동일한 back-end 서버를 리턴 받기 때문에 결재 등을 지원하는 웹 서버의 경우 세션의 유지가 이루어질 수 있으므로 추천하는 방식입니다.
  • 하지만, 출발지 IP 주소가 NAT 환경과 같이 수 백대의 서버가 하나의 NAT Gateway를 이용하는 경우, 로드밸런서는 여러 대의 서버가 요청을 보내왔더라도, 동일한 hash값을 얻기 때문에 부하 분산 효과를 보기 어렵다는 단점이 존재 합니다.
Source IP+Port 방식
  • 출발지(Source IP)주소와 Port 값을 기반으로 hash 값을 생성하여 hash 값을 기준으로 로드밸런싱을 수행합니다.
  • 이 경우 특정 커넥션의 모든 패킷이 동일한 물리적 서버 내 서비스로 흐르도록 할 수 있습니다.
  • Source IP 방식의 한계점인 NAT 환경에서의 단점을 극복할 수 있으나, 세션의 연속성은 끊어질 가능성이 있기 때문에 Source IP 방식과 달리 결제와 같은 시스템에는 적합하지 않습니다.
Least Response
  • Least Response 방식은 가장 빠른 Response Time(TTFB)을 제공하는 웹 서버로 로드밸런싱을 수행합니다.
  • 로드밸런서는 back-end에 있는 가상 서버로부터 http(s) '200' 응답을 기준으로 TTFB 값을 계산합니다.
  • 따라서 고객이 제공하는 서비스가 웹 서버인 경우에만 본 알고리즘의 정상 동작을 보장할 수 있습니다.
  • Least Response 방식은 back-end에 존재한 웹 서버들이 사용하는 가상 서버 자원양이 다른 경우, 서버까지 연결을 형성하는데 소요되는 시간, 각 서버가 처리하는 데이터 양이 서로 상이한 서비스 환경에서 유리하게 작용합니다.
Least Connection
Least Connection 방식은 새로운 클라이언트의 요청이 들어오는 경우, 로드밸런서에 연결된 back-end 서버 중 활성(Active)화 되어 있는 연결의 수를 계산하여 가장 적은 커넥션 수를 보유한 서버로 로드밸런싱을 수행합니다.
  • 로드밸런서에 연결 된 back-end 서버의 활성화 된 연결 수가 위 그림과 같을 경우, 새로운 연결 요청이 들어왔을 때 로드밸런서는 세 번째 서버로 연결을 설정하게 됩니다.
  • 반복하여 연결이 수행되는 동안 현재 활성화 된 연결 수를 점검한 뒤 적절한 back-end 서버로 연결을 넘겨주게 됩니다.
  • 일반적인 웹 서비스 제공 환경에서는 Least Connection 알고리즘이 최적의 성능을 제공할 수 있습니다.
유의사항/제약사항
Port Forwarding과 보안
로드밸런서를 생성한 뒤, 외부 공인 인터넷망에서 접근이 가능하게 하려면 [ KT Cloud server - 네트워크]에서 포트포워딩 구성을 진행하게 됩니다.
이 때, 포트포워딩 추가 시 지정한 IP/Public Port로의 방화벽이 모든 Source IP에 대해 오픈 됩니다.
보안 강화를 위해 back-end 서버에 대한 방화벽 설정을 로드밸런서의 네트워크 대역에 해당하는 아래 CIDR만 접근 허용하는 정책 적용을 권고하고 있습니다.
  • Central A/B : 14.63.233.24/29
  • KOR-HA : 14.63.176.112/28
  • Seoul M : 211.253.15.48/29
  • Seoul M2 : 211.252.80.40/29
로드밸런서와 서버 응답 성능
  • 로드밸런서는 사용자가 지정한 기준(옵션)에 따??

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  78 명