개발/Linux

Linux - HAproxy

잇(IT) 2022. 5. 16. 23:30
728x90

목차

1. HAProxy
2. HAProxy 설정
3. 설정 확인


1. HAProxy

 

- 여러 서버에 요청을 분산 시키는 TCP 및 HTTP 기반 애플리케이션을 위한 고가용성 로드 밸런서 및 역방향 프록시를 제공하는 무료 오픈 소스 소프트웨어이다.

 

- 즉, 하나의 서비스에 대한 부하를 여러 서버로 분산하는 것이다.


2. HAProxy 설정

 


2.1 리눅스 설정


CentOS7-1 설정

 

- VM에 연결된 네트워크 주소를 필요에 맞게 변경해준다.

 

yum install -y haproxy

- HAProxy 패키지를 설치해준다.

 

/etc/haproxy/haproxy.cfg

- haproxy 기타 환경설정을 변경해준다.

 

- haproxy를 통해 들어오는 frontend의 포트 번호는 80번으로 들어오도록 지정한다.

- haproxy를 통해 부하 분산 시킬 backend에 위치하는 server의 IP 주소를 입력하고, 해당 server로 들어갈 포트 번호를지정해준다.

 

- 반드시 시스템 재실행을 시켜줘야 변경 사항이 저장되어 실행된다.

 

- 마지막으로 방화벽을 허용해준다.


CentOS7-2, CentOS7-3 설정

 

- CentOS7-2,3에는 기본적으로 WEB Server 설치와 WEB Page는 간단하게 작성되어 있는 상태이다.

 


CentOS7-2 설정

 

- 웹 서버 설정을 haproxy에서 설정한 포트 번호에 맞게 변경해준다.

- haproxy에서 backend server1의 60000번으로 보내기로 설정했기 때문에 웹 서버 Listen 포트를 60000으로 설정해준다.

 

- server1에 접속하기 위한 port가 60000으로 변경되었기 때문에 60000 port에 해당하는 방화벽을 열어준다.


CentOS7-3 설정

 

- 웹 서버 설정을 haproxy에서 설정한 포트 번호에 맞게 변경해준다.

- haproxy에서 backend server2의 60001번으로 보내기로 설정했기 때문에 웹 서버 Listen 포트를 60001으로 설정해준다.

- server2에 접속하기 위한 port가 60001으로 변경되었기 때문에 60001 port에 해당하는 방화벽을 열어준다.


3. 설정 확인


Client PC에서 확인

 

- Client PC에서 같은 주소로 웹 페이지에 접속을 했을 때 부하 분산에 의해 2개의 웹 서버를 랜덤하게 접근하는 것을 볼 수 있다.


- 위와 같은 그림으로 haproxy에 의해 부하분산되어 지정된 포트 번호로 웹 서버에 접근하는 것을 알아보았다.

728x90

'개발 > Linux' 카테고리의 다른 글

Linux - (Wordpress + MySQL5.7 + PHP 7.3) 설치  (0) 2022.04.25
Linux - NFS + (Windows 환경에서도 사용)  (0) 2022.04.08
Linux - MAIL  (0) 2022.04.08
Linux - DNS (windows - 설정 확인)  (0) 2022.04.07
Linux - HTTP  (0) 2022.04.07