Load Balancer

Load Balancer

⚖️ Load Balancer (로드 밸런서) 구축 가이드 🚀


1️⃣ Load Balancer란?

로드 밸런서(Load Balancer) 는 여러 서버로 트래픽을 분산하여 부하를 분산시키고 가용성을 높이는 기술입니다.
웹 서비스, 데이터베이스, API 서버 등 다양한 환경에서 사용됩니다.

로드 밸런서의 주요 기능

  • 트래픽 분산 → 서버 부하 방지 및 성능 향상
  • 고가용성(HA) → 장애 발생 시 자동으로 다른 서버로 트래픽 전달
  • SSL 종료(Offloading) → HTTPS 트래픽의 암호화/복호화 부담을 감소
  • 세션 유지(Sticky Session) → 특정 사용자가 동일한 서버로 접속 유지

2️⃣ 로드 밸런서 유형

유형 설명 대표 솔루션
L4 (Layer 4) LB IP 및 포트 기반 트래픽 분산 HAProxy, Nginx, LVS
L7 (Layer 7) LB HTTP/HTTPS 기반 트래픽 분산 Nginx, Traefik, Envoy
DNS 기반 LB 도메인 수준 트래픽 분산 Route 53, Cloudflare
클라우드 LB 클라우드 제공 로드 밸런서 AWS ALB, GCP LB

3️⃣ 로드 밸런서 솔루션 비교

솔루션 특징 추천 환경
Nginx L7 지원, SSL 종료 가능 웹 서비스
HAProxy 고성능 L4/L7 지원 API 서버, 데이터베이스
LVS (IPVS) 커널 기반 L4 LB 대규모 트래픽 환경
Traefik 컨테이너 친화적 Kubernetes, Docker
Envoy 마이크로서비스 아키텍처 서비스 메시

4️⃣ HAProxy 기반 L4 로드 밸런서 구축 (Ubuntu 22.04)

🔹 1. HAProxy 설치

sudo apt update
sudo apt install haproxy -y

🔹 2. HAProxy 설정 (/etc/haproxy/haproxy.cfg)

frontend http_front
    bind *:80
    default_backend web_servers

backend web_servers
    balance roundrobin
    server web1 192.168.1.10:80 check
    server web2 192.168.1.11:80 check

🔹 3. HAProxy 재시작 및 확인

sudo systemctl restart haproxy
sudo systemctl enable haproxy
haproxy -c -f /etc/haproxy/haproxy.cfg

5️⃣ Nginx 기반 L7 로드 밸런서 구축

🔹 1. Nginx 설치

sudo apt update
sudo apt install nginx -y

🔹 2. Nginx 설정 (/etc/nginx/nginx.conf)

http {
    upstream backend {
        server 192.168.1.10;
        server 192.168.1.11;
    }

    server {
        listen 80;
        location / {
            proxy_pass http://backend;
        }
    }
}

🔹 3. Nginx 재시작 및 확인

sudo systemctl restart nginx
sudo systemctl enable nginx

6️⃣ 클라우드 로드 밸런서 설정 (AWS ALB 예시)

🔹 1. AWS ALB 생성

1️⃣ AWS 콘솔 → EC2 → 로드 밸런서 → 새 ALB 생성
2️⃣ 타겟 그룹 추가 (서버 리스트 등록)
3️⃣ 리스너 설정 (HTTP/HTTPS 트래픽 처리)
4️⃣ 보안 그룹 및 라우팅 설정 후 생성

🔹 2. AWS ALB 상태 확인

aws elbv2 describe-load-balancers

7️⃣ 로드 밸런서 상태 확인 및 문제 해결

✅ HAProxy 상태 확인

sudo systemctl status haproxy
haproxy -c -f /etc/haproxy/haproxy.cfg

✅ Nginx 상태 확인

sudo systemctl status nginx
nginx -t

✅ 활성화된 백엔드 서버 확인 (HAProxy)

echo "show stat" | sudo socat /var/lib/haproxy/stats stdio

✅ 로드 밸런서 포트 확인

sudo netstat -tulnp | grep LISTEN

🔟 결론 🚀

로드 밸런서는 서비스의 가용성과 성능을 높이는 핵심 기술
L4(LVS, HAProxy) / L7(Nginx, Traefik) 등 환경에 맞는 솔루션 선택
클라우드 환경에서는 AWS ALB, GCP LB 활용 가능

📚 추가 자료
1️⃣ HAProxy 공식 문서
2️⃣ Nginx 로드 밸런싱
3️⃣ AWS ALB 개요

RSS Feed
마지막 수정일자