■ 현재 서버 두 대를 가지고 HA (High Availability : 고가용성, 고가용도) 구성을 진행하려고 한다. Active-Active, Active-Stand By 중 어느 구조로 할까 고민을 하다 haproxy, keepalived, 로드밸런싱 등의 키워드를 알게 되었다. haproxy는 오픈소스 솔루션으로 L4 모듈을 소프트웨어로 구현하기 위한 패키지이다.
우선 haproxy 적용을 먼저 하고 Nginx 로드밸런싱을 진행할 예정이다.
구성요소

1. 우분투 저장소 추가
1) haproxy 사이트에 접속해서 버전을 선택한다.
HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer
2.3 2020-11-05 2022-Q1 (unmaintained) 2.3.21 2022/07/27 git / web / dir / announce / bugs 2.1 2019-11-25 2021-Q1 (unmaintained) 2.1.12 2021/03/18 git / web / dir / announce / bugs 1.9 2018-12-19 2020-Q2 (unmaintained) 1.9.16 2020/07/31 git / web / dir / an
www.haproxy.org

2) 명령어 입력 : add-apt-repository ppa:vbernat/haproxy-2.4

2. haproxy 설치
1) 명령어 입력 : apt-get update
2) 명령어 입력 : apt install haproxy
3) 명령어 입력 : apt-get update
3. haproxy 설정하기
1) 경로 : /etc/haproxy/haproxy.cfg
2) 설정파일 작성

3) 명령어입력 : systemctl stop haproxy.service / systemctl start haproxy.service
명령어입력 : systemctl restart haproxy.service
설정이 완료되면 backend 에 적어놓은 서버 웹 로그를 확인하여 신호 분산이 잘 되는지 확인한다.
※ 외부 VIP 로 접속해서 내부VIP에 연결된 다음 backend 서버들로 나뉜다. 그래서 frontend 에 적어놓은 서버 주소는 내부 VIP 주소를 적었고 backend에 적어놓은 주소는 로컬 PC 주소를 적었다. 주의해야할 사항은 frontend에 적어놓은 포트로 haproxy가 실행되는데 외부에서 들어갈 수 있게 포트를 열어야 한다. 그래서 외부에 포트를 열어도 되는지에 대한 여부는 내부적으로 결정해서 확인해야할 것 같다.
그리고 haproxy가 실행이 안될 때 고정IP를 설정해주는 방법으로 해결할 수도 있는 경우가 있는데 해당 작업을 실행할 때 nameservers 속성도 작성해줘야 한다. 하지 않으면 업데이트할 때 주소참조가 안되어서 실행되지 않는 경우가 생긴다.

■ 검색과 공부를 통한 작업으로 틀린 부분이 존재할 수도 있습니다. 저에게만 해당되는 설정방법일 수도 있으므로 그런 부분은 댓글로 알려주시면 공부에 도움이 되니 많이 알려주시면 감사하겠습니다.
'Server' 카테고리의 다른 글
[Linux] dpkg: error processing package grub-efi-amd64-signed (0) | 2023.01.17 |
---|---|
[Linux] SSH 접속하기 (0) | 2023.01.10 |
[Linux] apt-get update 오류_고정IP 등록 후 DNS 서버설정 안했을 때 (0) | 2023.01.02 |
[Linux] 가상IP 등록하기 (2) | 2022.12.22 |
[Linux] IP 등록 (0) | 2022.12.22 |