Backend/Server&Network

HA Proxy란?

야뤼송 2022. 8. 9. 00:15
반응형

2022.08.07 - [Backend/Server&Network] - 프록시 서버란?

 

프록시 서버란?

1. 프록시 서버란? Proxy의 사전적 의미는 '대리' 라는 의미이다. 말 그대로 2개의 서버가 직접 통신하지 않고 중간에 서버를 중계역할로 이용하는 서버를 프록시 서버라고 한다. 프록시 서버는 보

yarisong.tistory.com

 

지난 포스팅에서 프록시 서버에 대해 간략히 알아보았다. 이번 포스팅에서는 HA프록시에 대해 간략히 알아보고자 한다.

 

1.HA Proxy란?

HA Proxy란 L4, L7과 같이 하드웨어 로드밸런서를 대체하기 위한 오픈 소스로 리버스 프록시를 기반으로한 L4, L7 소프트웨어 로드 밸런서이다.

 

 

2. HA Proxy 동작 방식

위에서 설명한 것과 같이 HA Proxy는 리버스 Proxy 기반이므로 서버 앞단에 존재하면  서버로 오는 요청을 받아 뒷단에 서버에 전달하고 결과를 리턴받아 클라이언트로 전달하는 역할을한다. 

 

동작흐름은 아래와 같다.

  1) 최초 접근 시 서버에 요청 전달

  2) 응답 시 쿠키에 서버 정보 추가 후 반환

  3) 재요청 시 Proxy에서 쿠키 정보 확인 후 최초 요청 서버로 전달

  4) 다시 접근 시 쿠키 없이 전달

       클라이언트에 쿠키 정보가 계속 존재,  쿠키 재사용 가능

 

 

3. HA Proxy HA(High Availability) 구성

 

HA  Proxy는 기본적으로 VRRP(Virtual Router Redundancy Protocol)를 지원한다.

VRRP을 먼저 간단하게 설명하면 게이트 이중화를 말한다. 만약 1개의 게이트만 사용 시 장비 다운이 발생하면 통신이 불가 장애 상황이 발생하게 된다. 이를  방지하고자 게이트 이중화가 필요하고 2대의 게이트웨이 역할을 하는 장비 간 이중화에 사용되는 프로토콜이다.

 

이처럼 HA Proxy는 Master HA Proxy가 문제가 발생하더라도 slave HA Proxy에서 서비스가 원할하게 제공될 수 있다.

active A Ha Proxy와 stanby B Ha Proxy 서버는 heartbeat를 주고 받으면서 정상적으로 동작하는지 체크한다. active Proxy에 문제가  발생하면 standby Proxy가 active 상태가 되면서 기존 active proxy의 가상 IP 주소를 가져오면서 무정지 상태를 유지하게 된다. 다만, 1초 정도의 순단현상은 발생할 수 있다.

 

 

4. HA Proxy HA(High Availability)에서의 동작 방식

 

HA로 설정된 HA Proxy의 동작흐름이 단일로 구성된 HA Proxy와 다른점은 최초 접근 시 쿠키에 서버 정보를 입력하지 않고 서버에서 JsessionID가 전달 될 때 서버 정보를 합쳐서 전달한다는 점이다.

 

1) 쿠키에 정보 추가 없고 X-Forwarded-For 에 정보 추가

2) 쿠키에 추가 없음

3) JsessionID 추가

4) 서버정보 + JsessionID를 쿠키에 추가
5) 쿠키에서 서버 판별 JsessionID 전달

 

 

반응형