반응형

Exchange/Skype/ADFS/WAP MS Server 제품군들을 테스트하다보면, 로드 밸런서(LB) 필요할 때가 있습니다.

Windows OS 계열에서는 LB 찾기는 어렵습니다. 이번에는 Cent OS에서 HAProxy 통해서 LB 구성을 시도해 보았습니다.

 

만약 Hyper-V 2세대로 생성한다면, Secure Boot 체크 해제합니다.

 

CentOS 설치시 GUI 없는 환경으로 선택합니다.

 

설치전에 VM에서 사용할 IP, VIP 등을 사전에 등록합니다.

 

저는 대부분 편의상 Root 계정을 사용하기 때문에 Root Password 설정하였습니다.

 

HAProxy 설치진행

sudo yum install haproxy

 

필요한 포트 Open 명령어 진행

firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=25/tcp
firewall-cmd --permanent --zone-public --add-port=9000/tcp #status페이지 포트

 

vi 편집기를 통한 설정 수정

vi /etc/haproxy/haproxy.cfg

 

Insert 키를 입력하여 편집모드로 전환합니다.

 

기본적으로 입력된 Frontend 설정 값을 # 입력하여 비활성화 합니다.

 

그리고 아래와 같이 입력합니다.

#Exchange VIP 생성
frontend Frontend_Exchange_HTTPS
    log global
    mode tcp
    option tcplog
    option dontlognull
    bind 10.0.3.81:443    #Exchange VIP
    default_backend Backend_Exchange_HTTPS

 

아래의 설정들도 전부 # 입력하여 비활성화 합니다.

 

아래의 정보는 backend 대상 정보입니다. 저는 Exchange Server 3 정보를 입력하였습니다.

Backend Backend_Exchange_HTTPS #default_backend 정보와 동일하게 입력합니다.
		mode    tcp
		option   tcplog
		balance   roundrobin
		server     <EX서버1>  check port 443
		server     <EX서버2>  check port 443
		server     <EX서버3>  check port 443

아래는 Status 페이지 정보입니다.

#Status Web Page Setting
listen stats
	bind 10.0.3.80:9000
	mode http
	stats enable
	stats hide-version
	stats uri /stats
	maxconn 30
	stats refresh 30s

 

ESC 키를 입력합니다.

:wq 입력하여, 저장후 종료합니다.

 

다음 명령어를 진행

setsebool haproxy_connect_any on #Haproxy에서 사용하는 IP 및 포트 허용
systemctl start haproxy #서비스 시작
systemctl status haproxy #서비스 상태 확인
systemctl enable haproxy.service #재부팅시 자동으로 서비스 시작하도록 등록

브라우저 상에서 아래와 같이 확인할 있습니다.

 

네트워크 DNS 설정을 VIP 통신하도록 지정한 , 정상적으로 접속되는지 확인

 

새로 고침을 계속 해보면 아래와 같이 접속상태가 업데이트 되는 것으로 확인됩니다.

반응형

+ Recent posts