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로 통신하도록 지정한 뒤, 정상적으로 접속되는지 확인
새로 고침을 계속 해보면 아래와 같이 접속상태가 업데이트 되는 것으로 확인됩니다.
'기타' 카테고리의 다른 글
Untangle. Hyper-V에서 설치하기 (0) | 2022.05.03 |
---|---|
AMD EPYC 7302 CPU 조립 (6) | 2020.09.24 |
NAS 구입! QNAP TS-563 (0) | 2017.09.15 |
책소개. 그림 한장으로 보는 최신 네트워크 용어 해설 (0) | 2017.09.09 |
Asus Accessory TPM FW3.19 TPM Module 구입 후기 (0) | 2017.02.03 |