[ACC] 로드 밸런싱

mjtwinsbbc·2025년 3월 20일

로드밸런서 기본 개념

로드밸런서란?

서버에 가해지는 부하(로드)를 분산(밸런싱)해주는 장치/서비스
-> 이를 활용한 기술이 로드 밸런싱

  • 사용자의 요청을 여러 대의 서버들에게 균등하게 배정
  • 문제가 발생한 서버로 트래픽이 전달되는 것을 방지
  • 성능을 높이는 Scale Out을 할 때 필요
  • 가용성 · 확장성 · 보안 · 성능 등 많은 이점

동작 방식

클라이언트가 DNS 서버에 IP를 요청
→ DNS 서버가 로드 밸런서의 IP 주소를 전송
→ 클라이언트가 해당 주소로 요청을 보냄
→ 로드 밸런서가 요청을 받아 적절한 서버로 전달
→ 서버가 작업 처리 후 나온 결과를 로드 밸런서가 클라이언트에게 전달

ELB

  • AWS에서 제공하는 로드 밸런서
  • 운영 중인 서비스로 유입되는 트래픽을 자동 분산 처리해주는
    완전 관리형 서비스
  • Health Check
    • 모니터링
    • 정상 상태의 서버로만 트래픽 전달
  • Auto Scaling 기능과 결합하여 인스턴스 추가/제거

ALB vs NLB

Target Group

  • 트래픽을 분배할 대상을 정의하고 관리
  • 클라이언트의 요청이 어떤 서버 또는 서비스로 전달될지 결정

  • 지원대상 : EC2, IP Address,Lambda, ALB, ECS
  • HealthCheck : 대상 상태 확인 및 트래픽 분배
  • 모니터링 : CloudWatch 연동 및 성능 모니터링

분배 알고리즘

서로 다른 목적과 적합한 케이스 → 유형을 선택하여 사용

1. 정적

  • 라운드 로빈(Round Robin)
  • 가중치 기반 라운드 로빈(Weighted Round Robin)
  • IP 해시 방식(IP Hash)

2. 동적

  • 최소 연결(Least Connection)
  • 최소 응답 시간(Least Response)

Listener

로드 밸런서로 들어오는 요청을 처리

  • 리스너 포트와 프로토콜 설정
  • 모든 로드 밸런서는 리스너가 최소 1개 필요
    • 최대 10개까지 설정 가능
  • 최초 생성 시 Default rule을 포함
    • -> 다른 룰로 처리되지 않고 남은 모든 요청 처리

Listener Rule

리스너와 타겟 그룹 사이 트래픽 분배를 위한 라우팅 규칙

  • 우선순위, 액션, 조건 등의 정보를 담고 조건이 만족됐을 때 지정된 액션을 수행
  • path, host HTTP header, source IP, query parameter 등의 다양한 조건 제공

0개의 댓글