NETWORK & SEVER FACTORY

개인 공부 기록

Server/Linux

[HAProxy] Ubuntu에 HAProxy 설치 및 로드밸런싱 실습

1nfra 2020. 11. 11. 21:59
728x90

오늘은 Ubuntu에 HAProxy를 설치해보겠습니다.

 

haproxy는 오픈소스로 누구나 사용이 가능합니다.

 

위에 사진에 보면 이해할 수 있듯이 로드밸런싱이 가능합니다.

 

로드밸런싱을 하게되면 서버의 부하를 줄여서 많은 성능을 낼 수 있습니다.

 

https://alsrbdmsco0409.tistory.com/152

 

로드밸런서(Load Balancer)

로드밸런서는 서버의 부하(로드)를 분산(밸런싱)해주는 기술을 말한다. 클라이언트와 서버 사이에 위치하며, 한 대의 서버로 부하가 집중되지 않도록 트래픽을관리해 한 서버에 트래픽이 집중

alsrbdmsco0409.tistory.com

그럼 이제 한번 Ubuntu에 설치해보록 하겠습니다.

 

가상머신은 이렇게 3대를 준비했습니다. HAProxy를 설치 할 서버와 웹서버 두개를 준비했습니다.

 

설정은 아래와 같이 진행하겠습니다.


• Haproxy 로드 밸런서 내부 IP 주소 : 192.168.0.1
• 웹 서버 #01 IP 주소: 192.168.0.10
• 웹 서버 #02 IP 주소: 192.168.0.11

 

먼저 모든 가상머신에서 아래 명령어를 통해 /etc/sysctl.conf를 수정해줍니다.

 

# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

 

설정을 하고 난 후 위에 IP를 참고하여 IP설정을 해주시기 바랍니다.

 

그리고 HAProxy로 사용할 우분투에 HAProxy를 설치해줍니다.

 

#apt-get update
#apt-get install haproxy

 

vi 편집기로 /etc/haproxy/haproxy.cfg를 열어줍니다.

 

맨 아래줄에 아래 내용을 추가해줍니다.

이제 아래 명령어를 사용해서 haproxy를 시작해줍니다.

# /etc/init.d/haproxy start -f /etc/haproxy/haproxy.cfg

 

이제 haproxy 설정을 끝났습니다. 두개의 웹서버에 apache2를 설치해줍니다.#apt-get install -y apache2

 

웹 접속 테스트를 위해 html를 약간 수정해주겠습니다.

#vi /var/www/html/index.html 

열어서 중간에 <title>사이에 test1로 변경했습니다. 그리고 WEB2의 HTML에는 test2로 변경해주시기 바랍니다.

 

이제 웹 설정을 다했으면 서비스를 시작해줍니다.

 

#service apache2 start 

 

웹을 열고 127.0.0.1로 접속하면 title에 test1과 test2가 뜨는것을 볼 수 있습니다.

 

이제 haproxy설치 한 서버에 가서 웹에 192.168.0.1를 입력해서 웹을 접속해봅시다.

 

자 이렇게 test1 페이지가 열렸습니다. 다시 한번 접속해보겠습니다.

 

똑같이 192.168.0.1에 접속했는데 test2가 나왔습니다.

 

클라이언트에서 접속을 하게되면 WEB1과 WEB2에 골고루 분산되어 많은 사람들이 접근해도 부하가 덜 합니다.

 

오늘은 이렇게 haproxy를 사용하여 간단하게 로드밸런싱을 해봤습니다.

728x90

'Server > Linux' 카테고리의 다른 글

[Ubuntu] 우분투 서버 설치하기  (0) 2021.01.28
[리눅스] 정적 라우팅  (0) 2021.01.27
[Debian]_NFS  (0) 2020.08.17
[Debian]_subCA  (0) 2020.08.14
[Debian]_openssl 이용한 인증서 발급  (0) 2020.08.14