반응형
HAProxy를 사용하여 웹 서버를 이중화하는 것은 효과적인 고가용성 솔루션을 구현하는 좋은 방법입니다. HAProxy는 로드 밸런싱과 함께 트래픽을 웹 서버의 여러 인스턴스에 분산시키는 역할을 수행하면서, 서버 중 하나가 실패할 경우 자동으로 트래픽을 정상 서버로 전달합니다.
1. HAProxy 설치
먼저, 사용하고 있는 시스템에 HAProxy를 설치해야 합니다. 대부분의 Linux 배포판에서는 패키지 관리자를 통해 설치할 수 있습니다.
Ubuntu/Debian 기반 시스템:
sudo apt-get update sudo apt-get install haproxy
CentOS/RHEL 기반 시스템:
sudo yum install haproxy
2. HAProxy 설정
설치 후, HAProxy의 설정 파일(haproxy.cfg)을 수정하여 로드 밸런싱을 설정합니다. 이 파일은 일반적으로 /etc/haproxy/ 디렉토리 안에 있습니다.
기본 설정 예시:
global
log /dev/log local0
log /dev/log local1 notice
maxconn 4096
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back
backend http_back
balance roundrobin
server web1 192.168.0.101:80 check
server web2 192.168.0.102:80 check
- frontend: 클라이언트로부터의 연결을 수신하는 섹션입니다. 이 예제에서는 모든 IP의 80번 포트에 바인드하고, /haproxy?stats에서 HAProxy의 통계 페이지를 볼 수 있습니다.
- backend: 실제 서비스를 처리하는 서버(웹 서버)의 그룹입니다. balance roundrobin은 로드 밸런싱 알고리즘으로 라운드 로빈 방식을 사용합니다. server 라인은 각 웹 서버의 IP 주소와 포트를 지정하며 check 옵션은 서버의 상태를 주기적으로 확인합니다.
3. HAProxy 서비스 시작 및 활성화
설정을 완료한 후, HAProxy 서비스를 시작하고 시스템 부팅 시 자동으로 시작하도록 설정합니다.
Ubuntu/Debian:
sudo systemctl enable haproxy
sudo systemctl start haproxy
CentOS/RHEL:
sudo systemctl enable haproxy
sudo systemctl start haproxy
4. 테스트 및 모니터링
설정이 완료된 후에는 웹 브라우저를 사용하여 로드 밸런서의 IP 또는 도메인 주소로 접속하여 설정이 제대로 작동하는지 확인합니다. HAProxy의 통계 페이지(/haproxy?stats)를 통해 서버의 상태와 트래픽 분포를 모니터링할 수 있습니다.
이 단계를 통해 HAProxy를 사용하여 웹 서버 이중화를 구성하고, 고가용성 환경을 실현할 수 있습니다. 실패한 서버를 자동으로 감지하고, 사용 가능한 서버로 트래픽을 자동 전환하여 서비스 중단 시간을 최소화할 수 있습니다.
반응형
'공부 > 리눅스 서버' 카테고리의 다른 글
[linux] 쉘 스크립트 기본 문법 (0) | 2024.07.05 |
---|---|
[linux] Locky Linux 8.8 - oracle 21c install (0) | 2023.11.23 |
[linux] MariaDB 삭제 및 재설치 (0) | 2023.03.20 |
[oracle] ORA-31633 expdp error (0) | 2023.03.15 |
[linux] MariaDB 10.6.10 install (0) | 2022.12.15 |
댓글