ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [클라우드] AWS 로드 밸런싱(load balancing)
    인프라/클라우드 2025. 4. 30. 23:39
    1. 부하분산
    2. Amazon ELB
      1. Amazon ELB 구성
      2. Amazon ELB 동작
      3. Amazon ELB 교차 영역 로드 밸런싱
      4. Amazon ELB 종류
        1. CLB(Classic Load Balancer)
        2. ALB(Application Load Balancer)
        3. NLB(Network Load Balancer)
        4. GWLB(GateWay Load Balancer)

     

    로드 밸런싱(load balancing)

    부하로 인한 장애를 방지하기 위해, 동일한 목적을 수행하는 다수의 서버에 분산 처리하는 기능

    로드 밸런서(load balancer) : 부하분산을 수행하는 대상

    • 고가용성 및 내결함성이 향상
    • 서비스를 안정적으로 유지

    Amazon ELB (Elastic Load Balancing)

    Amazon EC2 인스턴스로 유입되는 트래픽을 자동 분산 처리하는 기술

    • 여러 가용 영역에서 작동 (애플리케이션 가용성을 향상)
    • HTTP, HTTPS, TCP, SSL 등 다양한 프로토콜을 지원
    • 사용자가 같은 인스턴스에서 세션을 유지할 수 있도록 지원
    • AWS의 CloudWatch 기능을 이용하여 로그와 메트릭을 모니터링 가능
    • AWS의 오토 스케일링 기능과 결합해서 트래픽이 증가할 때 자동으로 인스턴스를 추가/제거
    • 네트워크 및 응용 프로그램 수준의 로드 밸런싱을 지원 (다양한 애플리케이션에 적용)

    김원일,『AWS 교과서 』,  길벗(2023), 4장

     

    ≫ 클라이언트에서 인스턴스로 향하는 트래픽을 ELB가 받아 다수의 대상으로 로드 밸런싱해서 전달

    Amazon ELB 구성

    • 로드 밸런서(load balancer)
      • 여러 대의 EC2 인스턴스, IP 주소, 람다 등을 사용하여 트래픽을 대상 그룹에 있는 인스턴스로 분산
      • 사용자 요청을 받아 서버로 전달, 서버의 응답을 사용자에게 반환
    • 대상 그룹
      • 로드 밸런서에서 분산할 대상의 집합
      • 로드 밸런서는 대상 그룹에 포함된 대상들의 상태를 정기적으로 확인
        장애 발생 대상을 자동으로 제외, 정상적으로 동작하는 대상에만 요청을 전달
    • 리스너
      • 로드 밸런서에서 사용할 포트와 프로토콜을 설정
      • 대상 트래픽에 대한 규칙 생성, 수행 동작 정의
      • 로드 밸런서에서 클라이언트 요청을 수신, 해당 요청을 처리할 대상 그룹을 선택하여 라우팅

    김원일,『AWS 교과서 』,  길벗(2023), 4장

    Amazon ELB 동작

    1. 클라이언트 요청 수신
      • 로드 밸런서에서 클라이언트 요청을 수신
      • 로드 밸런서는 클라이언트와 연결을 유지, 요청 수신을 위해 리스너를 등록
    2. 대상 그룹 선택
      • 수신한 클라이언트 요청을 처리할 대상 그룹을 선택
      • 대상 그룹은 인스턴스, IP 주소, 람다 함수, ALB 등 여러 유형의 대상으로 구성
    3. 트래픽 분산
      • 선택된 대상 그룹에서 요청을 처리할 대상을 선택, 해당 대상으로 요청을 분산
      • 로드 밸런서는 각 대상의 가용성 상태를 모니터링
    4. 응답 반환
      • 분산된 요청을 대상에서 처리하고 클라이언트에 응답을 반환

    Amazon ELB 교차 영역 로드 밸런싱

    교차 영역 로드 밸런싱이 비활성화

    • 가용 영역 기준으로 분산 (인스턴스 하나의 부하는 고려X)
    • 가용 영역별로 인스턴스의 수가 불균형하다면?

    교차 영역 로드 밸런싱이 활성화

    • 대상 그룹에 속한 자원을 기준으로 분산
    • 여러 가용 영역에 걸쳐 있는 EC2 인스턴스나 컨테이너 등 대상을 더 효과적으로 로드 밸런싱하는 기능
    • 가용 영역별로 인스턴스 수량이 불균형하게 위치할 때 트래픽 비중을 보정
    • 좀 더 효율적으로 로드 밸런싱
    • ALB는 기본적으로 활성화, NLB는 비활성화
    • 대상 그룹 수준에서 구성
    • 가용 영역 간에 통신 비용이 발생 가능

    Amazon ELB 종류

    트래픽의 프로토콜 종류나 서비스의 목적/대상에 따라 븐류

    CLB(Classic Load Balancer)

    • L4, L7 프로토콜을 모두 지원
    • 대상 : EC2-Classic
    • 프로토콜 : TCP, SSL/TLS, HTTP, HTTPS
    • 고정 IP 주소를 사용하여 로드 밸런서를 생성, 로드 밸런서에 대한 DNS 이름으로 액세스
    • 서버의 기본 주소가 변경되면 로드 밸런서 새로 생성 필요
      포트나 헤더 같은 데이터를 수정하거나 변경할 수 없는 등 제약 사항
      → 레거시(legacy) 서비스로 분류 (NLB와 ALB로 대체)

    ALB(Application Load Balancer)

    • L7 로드 밸런서 → 웹 애플리케이션에 특화된 세밀한 라우팅
    • 대상 : IP, 인스턴스, AWS Lambda, 컨테이너
    • 프로토콜 : HTTP/HTTPS 같은 웹 애플리케이션 프로토콜을 지원
    • 특징
      • 보안 그룹 사용
      • HTTP 헤더를 확인하여 다양한 라우팅 기능을 제공
        경로 기반 라우팅 : URL 경로를 기반으로 요청을 분산
        호스트 기반 라우팅 : 호스트 이름을 기반으로 요청을 분산
        쿼리 문자열 기반 라우팅 : URL 쿼리 문자열을 기반으로 요청을 분산.
      • 오토 스케일링
      • 대상 그룹 내 인스턴스에 대해 상태 검사를 수행하고, 문제가 발생하면 자동으로 장애 조치 가능
      • Amazon CloudWatch Logs와 통합되어 로그/지표 데이터를 수집/모니터링/분석 가능

    NLB(Network Load Balancer)

    • L4 로드 밸런서
    • 대상 : IP, 인스턴스, ALB 컨테이너 (AWS Lambda 불가능!)
    • 프로토콜 : TCP, UDP, TLS 
    • 대규모 트래픽을 처리, 대상 그룹의 대상이 IP 주소로 식별될 때 유용
    • 특징
      • 고정 IP 제공
      • 높은 처리량 : 초당 수백만 개의 연결을 처리
      • 빠른 응답 시간 : 최적화된 14 로드 밸런싱 알고리즘을 사용
      • 높은 가용성 : 여러 가용 영역에서 인스턴스를 실행, 매우 빠른 인스턴스 검색을 수행, 신속하게 장애를 복구
      • IP 주소 보존 : 클라이언트 IP 주소를 유지하면서 로드 밸런싱을 수행 가능
      • 모니터링 : AWS CloudTrail, Amazon CloudWatch Logs 지원

    GWLB(GateWay Load Balancer)

    • 네트워크 트래픽을 서드 파티의 방화벽/어플라이언스 장비로 부하분산 처리
    • 대상 : IP, 인스턴스
    • 프로토콜 : IP
    • 서드 파티의 방화벽/어플라이언스 장비를 쉽게 배포하고 확장 및 관리 가능
    • VPC 내에서 실행되는 애플리케이션의 가용성과 확장성을 향상시키는 데 사용
      TCP 및 UDP 프로토콜을 지원하여 다양한 유형의 애플리케이션에 유연하게 적용

    김원일,『AWS 교과서 』,  길벗(2023), 4장

     

     

     

    참조

    김원일, 『AWS 교과서, 길벗(2023), 4장

    '인프라 > 클라우드' 카테고리의 다른 글

    [클라우드] AWS 스토리지  (0) 2025.05.18
    [클라우드] AWS 네트워크  (0) 2025.03.31
    [클라우드] AWS EC2란?  (0) 2025.03.24
    [클라우드] 클라우드란?  (0) 2025.03.17
Designed by Tistory.