Home [AWS]부하 분산
Post
Cancel

[AWS]부하 분산

본 학습은 따라하며 배우는 AWS 네트워크 입문 서적을 통해 진행했습니다.

ELB(Elastic Load balancing)

AWS에서 제공하는 로드밸런싱 기술

  • 로드밸런서: 서버의 상태를 파악하고 데이터를 분산하여 전달하는 접점 역할을 수행
    • 리스너: 서비스 하는 대상을 정의
      • 프로토콜 및 포트를 사용하여 연결 요청을 확인하는 프로세스
      • 로드 밸런서에서 서비스하고자 하는 프로토콜과 포트를 지정하는 규칙을 생성
    • 대상 그룹: 부하 분산 대상을 정의
      • 하나 이상의 대상을 라우팅하여 부하 분산을 하는 데 사용
      • 속한 대상에 대해 주기적으로 확인하는 프로세스(Keepalive)를 통해 상태 확인(Health Check)을 수행
      • 정상적인 상태의 대상에게 데이터를 전달

로드 밸런서를 통한 서비스 제공 환경

종류

1. ALB(Application Load Balancer)

HTTP나 HTTPS와 같이 웹 애플리케이션에 대한 분산 처리를 제공하는 로드밸런서

2. NLB(Network Load Balancer)

TCP나 UDP 프로토콜에 대한 포트 정보를 정의하여 네트워크 기반의 분산 처리를 제공하는 로드밸런서

3. CLB(Classic Load Balancer)

VPC의 예전 버전인 EC2-Classic에 대해서도 분산 처리를 제공할 수 있는 이전 세대의 로드밸런서

구분ALBNLBCLB
프로토콜HTTP, HTTPSTCP, UDP, TLSTCP, TLS, HTTP, HTTPS
처리 속도느림빠름중간
플랫폼VPCVPCVPC, EC2-Classic
OSI 계층7계층4계층-
다수의 포트 전달지원지원미지원
IP를 통한 관리미지원지원미지원
프라이빗 링크미지원지원미지원
경로 기반 라우팅지원미지원미지원
호스트 기반 라우팅지원미지원미지원

ALB vs NLB

ALB

  • URL 경로 기반 라우팅, 호스트 기반 라우팅, HTTP 헤더 기반 라우팅 등 다양한 규칙을 생성하여 포워드, 리다이렉션, 지정 HTTP 응답 등의 작업을 수행 가능
  • Lambda 함수를 호출하여 HTTP(S) 요청 처리 가능

NLB

  • 고정 IP나 탄력적 IP를 보유 가능
  • VPC 엔드포인트 서비스로 연결하여 프라이빗 링크 구성 가능

ELB 통신 방식

인터넷 연결(INternet Facing Load Balancer)

퍼블릭 주소를 가지고 있어 인터넷을 통해 요청을 로드밸런서에 등록된 EC2 인스턴스로 라우팅

내부(INternal Load Balancer)

프라이빗 주소만 가지고 있어 로드 밸런서를 위한 VPC 내부에 액세스하여 등록된 EC2 인스턴스 등 컴퓨팅 자원으로 라우팅

로드밸런서의 통신 방식(인터넷 연결/내부 연결)

특징

고가용성

ELB로 인입되는 트래픽을 다수의 대상으로 분산하여 고가용성을 유지

상태 확인

대상 그룹에 대한 Keepalive를 통해 주기적으로 상태 확인

보안 기능

보안 그룹(Security Group)을 적용하여 보안 옵션을 부여

  • NLB는 보안 그룹이 적용되지 않음

4계층/7계층 로드밸런싱

HTTP/HTTPS과 같은 7계층의 의 애플리케이션을 로드밸런싱 하거나 TCP/UDP의 4계층 로드밸런싱을 사용 가능

운영 모니터링

ELB 애플리케이션 성능을 실시간으로 모니터링 가능

This post is licensed under CC BY 4.0 by the author.