로드 밸런싱 : 부하 분산을 위해서 Virtual IP를 통해 여러 서버로 접속하도록 분배하는 기능

주요 기능

 -NAT: 사설 IP를 공인 IP로 바꾸는데 사용하는 주소 변조기

 -DSR(Dynamic Source Routing protocol): 클라이언트로 응답하는 경우에 스위치를 거치지 않고 바로 클라이언트로 찾아가는 개념

 -Tunneling: 데이터를 캡슐화 하여 연결된 상호간에만 캡슐화된 패킷을 구별해 캡슐 해제

동작 방식

 -Bridge/Transparent Mode

  1. 요청 전달 시 변조

   사용자 > L4 > NAT(IP/MAC 변조) > real server

  2. 응답 전달 시 변조

   real server > NAT > L4 > 사용자 - source IP를 L4 virtual IP로 변조. MAC은 변조하지 않음


 -Router Mode

  Bridge/Transparent Mode와 유사. Source MAC 변조 포함


 -One Arm Mode

  사용자가 real server 접근 시 목적지 IP는 L4 IP를 바라보며, L4에 도달하면 클라이언트에게 받은 목적지 IP를 L4 IP에서 real server IP와 real server MAC으로 변조. 되돌아가는 IP는 L4의 IP Pool의 IP로 변조


 -DSR(Direct Server Return) Mode

  사용자가 real server 접근 시 출발지와 목적지 IP 변조 없이 L4에서 관리하는 real server의 MAC addr table 확인하여 MAC 주소만 변조


HAProxy 동작 방식

기본적으로 reverse proxy 형태로 동작. 브라우저에서 사용되는 일반적인 proxy의 경우, 클라이언트 앞에서 처리하는 기능으로, forward proxy라 함. Reverse proxy의 역할은 real server 요청에 대해 서버 앞 단에 존재하면서 서버로 들어오는 요청을 대신 받아 서버에 전달하고 그 결과를 다시 전달하는 것.


최초 접근 > 응답 시 쿠키에 서버 정보 추가 > 재요청 시 클라이언트가 가지고 있는 쿠키 정보를 proxy에서 확인하여 요청 > 응답 시 쿠키에 정보 추가 없고 이후 요청 시 쿠키 재사용


XFF (X-Forwarded-For) header

HTTP header 중 하나로 client의 IP 식별을 위한 사실상의 표준

WAS 앞의 L4 등의 LB나 Proxy, Caching, WAS Connector 등이 있을 경우 HTTP나 AJP(전용 프로토콜)

로 요청을 보낸 후 받은 결과를 가공하여 클라이언트에 재전송하기 때문에 웹서버나 WAS에서 request.getRemoteAddr(); 등으로 client IP를 얻게 되는데 원하는 결과가 아니므로 이를 해결하기 위해서 사용하는것이 XFF Header 이다. 콤마 구분자로 client IP와 proxy IP를 식별할 수 있다


HA 구성

Virtual Router Redundancy Protocol 지원으로 성능상 초당 8만 건 정도의 연결 처리 가능

소프트웨어 기반 솔루션이기 때문에 HAProxy 설치 서버에 문제 발생 시 HW L4보다는 불안정

HA 구성으로 master HAProxy에 문제가 생겨도 slave HAProxy에서 서비스 제공하도록 구성


vIP를 공유하는 active HAProxy와 stnadby HAProxy가 heartbeat를 주고받으며 서로 체크


단일 HAProxy와 다른점은 최초 접근 시 서버 정보를 쿠키가 아닌 서버에서 jsessionid 전달 시 합쳐서 전달한다

쿠키에 정보 추가 없이 XFF에 정보 추가 > 쿠키 추가 없음 > Jsessionid 추가 > 서버 정보 + jsessionid 쿠키에 추가 > 쿠키에서 서버 판별 후 jsessionid만 전달


L4 + HAProxy HA 구성

HAProxy와 기존 HW 스위치를 이용하여 더 확장된 형태의 HA 구조 설계

클라이언트에서 연결되는 부분은 vIP + L4 구성으로 HW 이중화 구축

L4에서 서버 앞단에 HAProxy 구축


GSLB (Global Service Load Balancing) + HAProxy

IDC간 이중화 및 global 환경 무정지 서비스를 위한 DR 시스템 구축

GSLB용 L4는 고가의 장비이므로 DNS를 이용한 구축 형태

client에서 DNS 도메인 조회 > 근거리 IDC 정보 전달


ref: http://d2.naver.com/helloworld/284659

'System Engineering > Network' 카테고리의 다른 글

Protocol: TCP and UDP  (0) 2018.06.18
About https  (0) 2018.06.11
포트 미러링  (0) 2018.05.24
Difference between each layer  (0) 2018.05.16
What is DNS?  (0) 2018.05.02

+ Recent posts