클라우드 엔지니어/클라우드 캠프과정

2022.09.22 부하 분산 -로드벨런싱 - On-premise Haproxy

해아's 2022. 9. 24. 09:06

부하분산 즉 물길을 두개로 나누는거 정도... 자세한건 인터넷에 많다.

 

로드벨런싱은 두가지 방식이있는데

 

그중 ip를 나누는 방식을 온프레미스 환경에서 구축을 한후 AWS에서 적용해보는 실습을 진행하였다

더보기

온프레미스(On-premise)란? 
온프레미스란 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 

서버1 로드밸런스 서버 
서버2 웹서버 apache + php 
서버3 웹서버 apache + php 
서버4 데이타베이스 서버 mysql 

 

위와 같이 진행하였다

주의사항 
워드프레스 설정파일 생성시 

단독서버로 작업(2번서버 중지) 

설정후 설정 컴피그 파일을 2번서버에 복사후 
scp /var/www/html/wordpress/wp-config.php 192.168.179.223:/var/www/html/wordpress/wp-config.php 

서버 실행

 

 

 

============================강의자료================================

06. AWS의 로드밸런서

  1) 로드밸런서 타입

    (1) Application Load Balancer

애플리케이션 계층(HTTP/HTTPS)에서 라우팅 결정을 내리고, 경로 기반 라우팅을 지원하며, 클러스터의 각

 컨테이너 인스턴스 상의 하나 이상의 포트로 요청을 라우팅, 동적 호스트 매핑 지원

    (2) Network Load Balancer

전송 계층(TCP/SSL)에서 라우팅을 결정, 동적 호스트 매핑 지원

    (3) Gateway Load Balancer

여러 타사 어플라이언스에 대한 로드 밸런싱 및 자동 조정 기능을 제공

    (4) Classic Load Balancer

전송 계층(TCP/SSL) 또는 애플리케이션 계층(HTTP/HTTPS)에서 라우팅 결정, 동적 호스트 매핑 미지원

 

 

 

  2) 온프레미스 환경에서의 로드밸런스

    (1) Haproxy 설정

      [0] 방화벽 끄기

systemctl stop firewalld

      [1] 설치

yum install -y haproxy

      [2] 설정

vi /etc/haproxy/haproxy.cfg

default 설정은 놔두고 그 밑에 다 지운 후에 아래 내용 추가

listen stats

    bind :9000

    stats enable

    stats realm Haproxy\ Statistics

    stats uri /haproxy_stats

 

frontend  http-in

    bind *:80

    mode                        http

    default_backend             webserver

 

backend webserver

    balance     roundrobin

    server  home1 [웹서버1 IP주소]:80 check

    server  home2 [웹서버2 IP주소]:80 check

 

    (2) 실행

systemctl restart haproxy

    (3) 확인

http://[haproxy 서버의 IP주소]:9000/haproxy_stats 접속해서 확인

 

728x90
반응형