<aside> 💡 HA proxy(메인 서버&백업 서버) 2개
네트워크 설정
<aside> 💡 Apache 서버 3대(내부 웹서버)
네트워크 설정 ⇒ 내부 네트워크 #3번 interface / 80포트에 apache서버를 실행시킴 </aside>
내부네트워크(내부용) #8번 interface / 내부 네트워크와 통신하기 위한 interface </aside>
yum -y install haproxy
<aside> 💡 기존 haproxy 워크북 참고하여 firewalld 설정(포트80), 포트 포워딩등 적용
</aside>
<aside> 💡 vi /etc/haproxy/haproxy.cfg
</aside>
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
bind *:80 #80번 포트를 listen
acl url_admin path_beg -i /admin #admin이라는 url를 가진 주소 감지
#admin ip등록
acl admin_ip src 192.168.0.143 192.168.0.44
#deny ip 등록
# acl deny_ip src 192.168.0.143
# tcp-request connectio n reject if deny_ip
# http-request deny if deny_ip
#admin ip를 가지고, url을 접속하면 static으로 보냄
use_backend static if url_admin admin_ip
#admin ip가 아니고 default는 app으로 보냄
default_backend app !admin_ip
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
# balance roundrobin
# static uri /
server static 127.0.0.1:8080 check
# server static 192.168.100.10:80 check
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
#내부 웹서버 ip 및 포트 번호 적
backend app
balance roundrobin # 로드밸런싱은 roundrobin방식
#아래의 apache서버로 로드밸런싱함.
server apache1 192.168.100.10:80 check
server apache2 192.168.100.20:80 check
server apache3 192.168.100.30:80 check
#모니터링
listen stats
bind :9000
stats enable
stats realm Haproxy\ Statistics
stats uri /
stats auth root:pass123 #인증 -> [아이디]:[비밀번호]
yum -y install keepalived
vi /etc/keepalived/keepalived.cfg
<aside> 💡 keepalived.cfg에 아래 코드 적용
</aside>