Written by Google Gemini 2.5 Pro
로드밸런서(Load Balancer)
라고 하며, 클라이언트와 서버 그룹 사이에 위치하여 '교통 경찰' 역할을 수행한다.고가용성
: 일부 서버에 장애가 발생해도 정상 작동하는 다른 서버로 트래픽을 자동 전환하여 서비스 중단을 방지한다.확장성
: 트래픽 증감에 따라 서버를 유연하게 추가하거나 제거하여 시스템 규모를 손쉽게 조정할 수 있다.성능 향상
: 특정 서버의 과부하를 막고 자원을 최적으로 활용하여 전체적인 응답 속도를 개선할 수 있다.보안 강화
: DDoS와 같은 공격 트래픽을 분산시키고, 웹 방화벽(WAF)과 연동하여 보안 위협을 완화한다.스케일업(Scale-Up)
방식으로 트래픽 증가에 대응했지만, 비용이 비싸고 성능 향상에 한계가 있으며, 서버 자체가 단일 장애점(SPOF, Single Point of Failure)
이 되는 치명적 단점이 있었다.스케일아웃(Scale-Out)
방식이 등장했으며, 이 방식의 이점을 극대화하기 위해 여러 서버에 트래픽을 지능적으로 분배하는 로드밸런싱이 필수 기술이 되었다.특징 | L4 (전송 계층) | L7 (애플리케이션 계층) |
---|---|---|
분산 기준 | IP 주소, 포트 번호 | HTTP 헤더, 쿠키, URL 등 콘텐츠 정보 |
장점 | 패킷 내용 미확인으로 처리 속도 빠름, 비용 저렴 | 콘텐츠 기반의 정교하고 지능적인 라우팅 가능 |
단점 | 단순 IP/포트 기반 분산만 가능, 세밀한 제어 불가 | 패킷 내용 분석으로 인한 부하 및 비용 증가 |
서버의 현재 상태와 무관하게, 사전에 정의된 규칙에 따라 요청을 분배한다.
라운드 로빈 (Round Robin)
: 요청을 서버 목록에 따라 순차적으로 분배하는 가장 기본적인 방식가중 라운드 로빈 (Weighted Round Robin)
: 서버의 처리 성능에 따라 가중치를 부여하고, 가중치가 높은 서버에 더 많은 요청을 할당하는 방식IP 해시 (IP Hash)
: 클라이언트의 IP 주소를 해싱하여 특정 서버로만 요청을 보내 세션 유지를 도움
서버의 실시간 부하 상태를 확인하여 최적의 서버로 요청을 분배한다.
최소 연결 (Least Connection)
: 현재 연결 수가 가장 적은 서버로 요청을 보내, 세션이 길어지는 서비스에 유리하다.최소 응답 시간 (Least Response Time)
: 연결이 가장 적으면서 응답 시간도 가장 빠른 서버로 요청을 보내 사용자 경험을 극대화한다.
DNS 라운드 로빈
방식을 사용했다.Active-Standby
: 한 대(Active)가 동작하고 다른 한 대(Standby)는 대기하다가, 장애 발생 시 Standby 장비가 즉시 역할을 이어받는 방식이다.Active-Active
: 두 대 이상의 장비가 동시에 트래픽을 처리하여 자원 효율성을 높이고 장애 발생 시에도 중단 없이 서비스를 운영하는 방식이다.기능 | AWS (Elastic Load Balancing) | NCP (Load Balancer) |
---|---|---|
L7 (Application) | Application Load Balancer (ALB): 경로, 헤더 등 정교한 L7 라우팅 규칙 제공. 대상 그룹에 EC2, 컨테이너, Lambda 등 다양한 리소스 지정 가능. | Application Load Balancer: 고정 IP 제공, URL 경로 및 호스트 헤더 기반 라우팅 지원. |
L4 (Network) | Network Load Balancer (NLB): 초저지연, 고성능 L4 처리. 고정 IP(Elastic IP) 할당 가능. | Network LB: DSR(Direct Server Return) 모드 지원으로 응답 성능 극대화. |
알고리즘 | ALB: 라운드 로빈, 최소 미결 요청NLB: 플로우 해시 | 라운드 로빈, 최소 연결, 소스 IP 해시 |
요금 정책 | 시간당 요금 + LCU(처리 용량 단위) 기반의 복잡한 종량제 | 성능 등급(Small/Medium/Large)에 따른 고정 시간당 요금 + 아웃바운드 트래픽 기반으로 예측 용이 |