[AWS]ELB(ALB,NLB,GWLB) 개념 정리

nevermindyy·2025년 3월 4일

AWS

목록 보기
1/3

공부 목적으로 작성된 글입니다.


로드 밸런싱이란?

로드 밸런싱은 네트워크 트래픽을 여러 서버에 고르게 분산하여 특정 서버에 과부하가 걸리지 않도록 하는 기술이다.
대규모 트래픽이 발생하는 상황에서도 로드 밸런서를 통해 여러 서버로 요청을 분산하면 서비스 중단 없이 안정적으로 운영할 수 있다.

로드 밸런싱

ex) 롤드컵같은 대규모 이벤트가 발생시 특정 서버에 트래픽이 몰릴 수 있음 --> 로드 밸런싱을 통해 트래픽을 여러 서버에 분산 시킨다.


ELB(Elastic Load Balancing)

AWS는 3가지(총 4개지만 CLB는 현재 권장하지 않는 서비스) 로드 밸런싱 서비스가 있다.
ELB(Elastic Load Balancing)은 탄력적 로드 밸런싱으로 탄력적의 의미는 가용성(high available)과 확장성(auto scaling)을 의미한다.

들어오는 트래픽을 여러 AZ으로 분산시키면서 트래픽을 제어한다.

ELB의 종류

CLB - 현재는 추천하지 않는 서비스(따라서 생략!)

  • ALB
  • NLB
  • GWLB

Health check

health check를 통해 비정상 인스턴스를 감지하고 라우팅에서 제외시킨다.
헬스체크 이미지

HTTP 200 ok > 정상
HTTP 404 error > 비정상


ALB(Application Load Balancer)

ALB는 Application layer 에서 작동한다.(HTTP)
HTTP,HTTPS,websocket protocol을 지원한다.
HTTP --> HTTPS 리다이렉트 지원한다.
sticky sessions 사용 가능하다.

마이크로 서비스와 컨테이너 베이스 기반 어플리케이션에 적합하다.
ex) docker , ECS.

target group

  • EC2(HTTP)
  • ECS(HTTP)
  • lambda함수(HTTP 리퀘스트가 JSON 이벤트로 변경)
  • ip주소(private ip 만 가능)

타겟 그룹 & 오토 스케일링

라우팅 기능

  • 호스트 기반 라우팅(host-based routing)
    URL의 hostname기반으로 라우팅

    shop.example.com > 쇼핑 서비스 서버 (target group A - AZ1)
    blog.example.com > 블로그 서비스 서버 (target group B - AZ2)

  • 경로 기반 라우팅(path-based routing)
    URL의 path기반으로 라우팅

    shop.example.com/image > 쇼핑 서비스의 이미지서버 (target group A - AZ1)
    shop.example.com/login > 쇼핑 서비스의 로그인서버(target group B - AZ2)

  • URL 쿼리 기반 라우팅
    URL의 Query string기반으로 라우팅

    example.com?user=premium → 프리미엄 사용자 서버(Target Group Premium)
    example.com?user=free → 무료 사용자 서버(Target Group Free)

고정 세션(sticky sesssions)

특정 클라이언트 요청을 항상 동일한 대상(Target)으로 라우팅하는 기능

고정 세션 이미지

로그인 상태 유지가 필요한 애플리케이션이나 장바구니 데이터를 유지해야 하는 전자상거래 사이트에서 유용하다.

리스너 규칙

라우팅 기능(호스트 기반 라우팅, 경로 기반 라우팅, 쿼리 문자열 기반)을 기준으로 요청을 처리할 순서와 동작을 정의한다.
우선순위(priority)가 낮은 규칙부터 평가하며, 조건이 충족되는 첫 번째 규칙이 적용된다. (기본 규칙은 항상 첫번째!)

ALB 리스너는 들어오는 요청을 평가하여 정의된 규칙에 따라 적절한 대상 그룹(Target Group)으로 트래픽을 라우팅한다.
기본 규칙(Default Rule)은 모든 조건이 충족되지 않을 경우 실행된다.


NLB(Network Load Balancer)

NLB는 Transport layer에서 TCP(TLS)/UDP 트래픽을 처리한다
낮은 지연 시간과 높은 처리량이 요구되는 애플리케이션에 적합하다.

NLB 특징

  • 고정 IP 제공 (Elastic IP 사용 가능).

    NLB는 AZ당 하나의 고정 IP를 갖는다

  • 초당 수백만 건의 요청 처리 가능.(=높은 성능)
  • IP 해시 알고리즘 기반 트래픽 분배.
  • Health check는 TCP,HTTP,HTTPS 지원 가능

target group

-EC2 인스턴스
-IP 주소 (private IP만 가능)
-ALB


GWLB(Gateway Load Balancer)

GWLB는 Network layer에서 작동한다 (IP패킷)
방화벽, 침입 탐지 시스템 등 가상 어플라이언스(3rd party)를 배포 및 관리할 때 사용된다.

트래픽 검사 목적으로 사용된다.

GWLB 기능

  • 네트워크 보안 어플라이언스와 통합 가능.
  • 고가용성과 확장성을 위한 자동 스케일링 지원.

참고자료

https://aws.amazon.com/ko/elasticloadbalancing/getting-started/?pg=ln&sec=hs
https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/?couponCode=ST10MT30325G1

profile
끄적끄적

0개의 댓글