로드 밸런싱(Load Balancing)에 대해 알아보기

leejihyeon·2026년 5월 17일

📅 날짜: 2026년 5월 17일


오늘 공부한 핵심 내용

  • 로드 밸런싱 : 수많은 사용자의 요청(트래픽)이 한 서버에만 몰려 터지지 않도록, 여러 대의 서버로 골고루 나누어 배달해주는 인프라의 교통정리원이다.

  • 로드 밸런서 : 트래픽을 나눠주는 장치나 프로그램(도구)

→ 로드 밸런서(도구)를 활용하여 트랙픽을 분산하는 로드 밸런싱(기술)을 구현한다.


학습 내용 정리

로드 밸런스

현대에 모든 정보는 인터넷을 통한다. 전세계적으로 많이 사용하는 유튜브도 시청을 하거나 좋아요를 누르기 위해 인터넷을 사용해야 한다.

이처럼 아무리 성능이 뛰어난 서버라고 해도 모든 트래픽을 감당할 수 없다. 이를 해결하기 위해서 서버를 추가하고 여러 대의 서버에 동일한 데이터를 저장해 수많은 트래픽을 분산한다. 하지만 쏟아지는 트래픽을 여러 대의 서버로 효과적으로 분산해주는 기술이 없다면 한 곳의 서버에 모든 트래픽이 몰리는 상황이 발생할 수 있다. 이때 사용하는 기술이 로드 밸런싱이다.

여기서 로드 밸런서는 한 서버에 몰려 터지지 않도록 부하(로드)를 분산(밸런싱)해주는 장치이다.

로드 밸런서의 종료(OSI 계층별 분류)

L4 로드 밸런서(Network Load balancer, NLB)

  • 판단 기준 : 데이터의 내용을 보지 않고, 오직 IP주소와 포트(Port)번호만 확인하여 트래픽을 분배한다.
  • 특징 : 성능이 매우 빠르고 대규모 TCP/UDP 트래픽 처리에 적합하다.
  • 장점
    • 데이터의 안을 보지않고 로드를 분산하기 때문에 속도가 빠르다.
    • 데이터의 내용을 복화화할 필요가 없어 안전하다.
    • L7보다 가격이 저렴하다.
  • 단점
    • 사용자의 IP가 수시로 바뀌는 경우에는 연속적인 서비스를 제공하기 어렵다.

L7 로드 밸런서(Network Load balancer, NLB)

  • 판단 기준 : URL주소, HTTP헤더, 쿠키, SSL 세션 ID 등 실제 요청 콘텐츠 내용을 보고 분산한다.
  • 특징 : 지능적인 라우팅이 가능하다.(ex. 이미지 검색 요청은 이미지 전용 서버로, 장바구니/결제 요청은 보안 세션 서버로 분리 배달)
  • 장점
    • 섬세한 라우팅이 가능하다.
  • 단점
    • 복호화해야 해서 비용이 비싸다.

로드 밸런서 자체의 이중화(장애 극복)

만약 서버가 안 터지게 하려고 로드 밸런서(LB)를 뒀는데, LB가 죽으면 전체 서비스가 중단이 된다. 이 문제를 해결하기 위해 로드 밸런서 자체를 2대를 둔다. 이를 이중화라고 하는데 이중화 서비스가 죽지 않기 위해 이중화 관리가 필수이다.

이중화에는 엑티브와 스탠바이 2개가 있다.

  1. Active - StandBy구조
  • 평상시에는 Active LB가 혼자서 열심히 일하고, StandBy LB는 아무 일도 안하고 대기한다.

  • 장애 발생 시 Active LB가 죽으면 가상 IP(VIP)를 통해 StandBy LB가 자동으로 Active로 전환되어 서비스를 중단 없이 이어갈 수 있다.

  • 죽은 Active를 살리면 그 StandBy가 된다.
    하지만 이런 방식은 대기 중인 StandBy의 자원이 그대로 낭비가 된다.

자원 낭비를 막기 위해 대기 LB를 없애고 LB1과 LB2를 둘 다 Active(작동 중) 상태로 묶어서 운영하면 된다. 이를 클러스터링 방식이다.

Clustering 구조

  • 개념 : 자원 낭비를 막기 위해 대비 StandBy를 없애고, LB1과 LB2를 둘 다 Active상태로 운영하는 방식이다.

  • 특징

    • 두 대의 로드 밸런서가 트래픽을 나눠서 처리해 동시에 더 많은 양의 폭발적인 트래픽을 감당할 수 있다.
    • 만약 한 대가 죽더라도 남은 한 대가 전체 트래픽을 온전히 받아내기 때문에 완벽한 무중단 서비스가 가능하다.
  • 단점 : 두 개의 장비를 상시 동시에 운영해서 인프라 비용이 2배가 든다.

대표적인 트래픽 분배 방식

들어온 요청을 어떤 서버로 보낼지 결정하는 방식이 Round Robin, 가중치, Least Connection으로 3가지가 있다.

Round Robin(라운드 로빈)

  • 방식 : 모든 서버에 순서대로 돌아가며 하나씩 요청을 배정한다. 끝까지 가면 다시 처음으로 돌아간다.
  • 예시 : 요청1 → 서버1 | 요청2 → 서버2 | 요청3 → 서버3 | 요청4 → 서버1 (처음으로 돌아옴)

→ 서버들의 사양(스펙)이 전부 동일할 때 가장 공평하고 단순하게 트래픽을 나눌 수 있는 기본 방식이다.

가중치

  • 방식 : 서버들의 하드웨어 컴퓨터 성능이 서로 다를 때 성능 비율에 맞춰 배분 가중치를 조절한다.

  • 동작 예시 : 신형 서버1(가중치 3), 구형 서버2(가중치 1)로 설정하면 → 들어오는 요청 4개 중 3개는 신형 서버1로 가고 1개만 구형 서버2로 가게 비율이 제어된다.

→ 돈을 더 많이 쓴 비싼 서버의 자원을 낭비하지 않고 100% 효율적으로 사용할 수 있다.

Least Connection(최소 연결)

  • 방식 : 실시간으로 서버 상태를 확인했을 떄, 현재 사용자와의 활성화된 연결(세션)수가 가장 적은 한가한 서버로 요청을 보낸다.

→ 사용자가 단순히 페이지를 보는 게 아니라 파일을 다운로드하거나 로그인을 유지하는 등, 서버에 머무는 시간(세션 유지 시간)이 제각각 다를 때 사용하면 서버가 안터지게 잘 방지해준다.


로드 밸런싱 장점

  • 특정 서버에 장애가 나거나 유지보수 중일 때, 로드 밸런서가 이를 자동으로 감지하여 멀쩡한 다른 서버로 트래픽을 돌려준다.

  • 사용자가 갑자기 증가해도 클릭 몇 번으로 서버를 추가(Scale-out)하고 트래픽을 지능적으로 분산시켜 병목 현상을 막는다.

  • 악의적으로 수백만개의 요청을 보내 서버를 마비시키는 DDoS 공격이 들어오면 공격 트래픽을 여러 서버로 쪼개어 충격을 최소화하거나 방화벽을 통해 악성 콘텐츠를 차단한다.

  • 서버의 로드를 균등하게 나누어 전체적인 응답 속도를 높이고, 필요한 경우 사용자와 지리적으로 가장 가까운 데이터 센터로 요청을 보내 연결 지연을 줄인다.


각 차이점

→ 💡핵심 차이점 요약

구분로드 밸런서로드 밸런싱
분류장치, 프로그램기술, 방법
정의트래픽을 나누어주는 "기계/도구"트래픽을 골고루 분산시키는 "행동/기술"
역할손님들을 빈자리로 안내해주는 지배인지배인이 손님들을 안 밀리게 이리저리 나눠 앉히는 행위(기술)

추가로 알아보기

1. 스케일 아웃(Scale-out) : 서버 늘리기

이해하기 쉽게 비유를 하자면 대형 마트에 갑자기 수천 명의 손님이 몰려와 계산하려고 하는데 계산대가 2개밖에 없다면 마트는 비상이 된다. 이를 해결하기 위해 계산대를 늘리는데 이렇게 밀려드는 트래픽(손님)을 감당하기 이해 기존 서버와 똑같은 쌍둥이 서버 컴퓨터를 옆으로 한 대, 두 대 계속 추가해 늘리는 행위를 스케일 아웃(Scale-out)라고한다.

이 스케일 아웃은 서버를 계속 늘릴 수 있고 서버 한 대가 갑자기 고장이 나거나 불이 나도 다른 쌍둥이 서버를 사용하면 되니까 서비스가 멈추지 않는 장점을 가지고 있다.

2. 스케일 인(Scale-in) : 서버 줄이기

마트는 새벽에 손님이 거의 없다. 근데 낮에 늘린 계산대 직원들이 그대로 있다면 쓸데 없는 인건비만 빠져나가 돈 낭비가 생긴다. 이를 해결하기 위해 기존에 있던 계산대빼고 다 퇴근시킨다.

이처럼 트래픽이 다시 한산해졌을 때 늘려놓았던 서버 컴퓨터의 개수를 차근차근 줄여서 다시 원래대로 축소하는 행위를 스케일 인(Scale-in)이라고 한다.

이 스케일 인은 서버를 빠르게 반납하면 회사의 인프라 비용을 많이 아낄 수 있는 장점을 가지고 있다.

3. 오토 스케일링(Auto Scaling)

위의 스케일 아웃과 스케일 인을 24시간 개발자가 수동으로 조작하는 것은 거의 불가능에 가깝다. 이 과정을 시스템이 트래픽을 감시하여 자동으로 처리해주는 기술이 오토 스케일링(Auto Scaling)이다.

사용자가 몰리는 수강신청이나 할인기간에는 알아서 스케일 아웃으로 서버를 늘리고 이벤트가 끝나 트래픽을 줄어들면 알아서 스케일 인으로 서버를 줄여준다.


오늘의 복습 메모

  • 📚 다시 볼 개념 적어두기

  • 로드 밸런서(Load Balancer): 트래픽을 나눠주는 '물리적 장치나 가상 소프트웨어(도구)'
  • 로드 밸런싱(Load Balancing): 여러 서버로 트래픽을 공평하게 분산해 주는 '아키텍처 기술(행위)'

💡 핵심 정리: "인프라 환경에 로드 밸런서(ALB)라는 도구를 배치하여, 서버가 터지지 않도록 트래픽을 분산하는 로드 밸런싱 기술(라운드 로빈 등)을 구현한다"라고 이해하면 된다.


출처
튜터님의 설명
AWS 로드밸런싱

0개의 댓글