HA Proxy의 다중화

Ryu·2022년 5월 16일
0

2021-archive

목록 보기
3/8

2021에 작성한 노트를 옮겨 적은 것입니다.

아래는 어떤 의미일까?

어떤 서비스를 위해 특정 아이피를 HAProxy에서 active-standby로 동작하기 위한 Keepalived vip로 할당하고자합니다.

서버 이중화

서버를 이중화하는데는 다음과 같은 구성을 생각할 수 있다

  • Active-active: 서버 두 대가 동시에 active하고, 로드 밸런서가 요청을 분산
  • ACtive-standby: 서버 두 대중 하나만 active하고 나머지 하나는 장애시에 이용
    • Hot standby: 스탠바이 서버 가동 후 즉시 이용가능
    • Warm standby: 스탠바이 서버 가동 후 약간의 준비 필요
    • Cold standby: 스탠바이 서버를 정지시켜 놓는 것

HAProxy 다중화

HAProxy는 결국 백엔드 서버들의 게이트웨이 역할이다. 백엔드 서버들이 정상이더라도 HAProxy가 장애가 나면 전체 시스템을 사용할 수 없게 되는 Single point of failure가 있기 때문에 다중화가 중요하다.

시스템에 이런 Load balancer나 스위치가 여러개 있을 때 어떤 애가 트래픽 전달하는 애가 될지 결정하는 알고리즘이 Virtual Redundancy Routing Protocol (VRRP)이다.

즉, HAProxy가 Active-standby로 이중화 되어있을 때 Active가 죽었을 때 Standby를 깨우고 역할을 일임하는 프로토콜인 것.

Keepalived

Keepalived는 VRRP를 이용하여 리눅스 환경에서 HA가 가능하게 하는 프레임워크다.

이 놈이 Virtual IP(vip)를 하나 두고 얘를 Active 서버로 중개하면서 Active서버의 상태를 모니터링한다.

그러다 active server가 fail할 경우 해당 서버를 Standby로 내리고, 다른 standby에게 vip를 라우트한다.

결론

어떤 서비스를 위해 특정 아이피를 HAProxy에서 active-standby로 동작하기 위한 Keepalived vip로 할당하고자합니다.

keepalived가 메인 vip로 특정 아이피를 점유하고, 얘를 위해 active-standby로 설정된 HAProxy가 있다는 말. 이 프록시 서버는 어떤 서비스를 위한 백엔드 서버로 트래픽을 라우팅한다.

0개의 댓글