개발에 관한 모든 것의 기록

Elatic Load Balancing(ELB) 본문

클라우드,인프라

Elatic Load Balancing(ELB)

개발하고 기록하는 개발자 2022. 4. 21. 16:52

1.  로드 밸런싱(Load Balancing)

  • 로드 밸런싱이란 네트워크 기술의 일종으로 네트워크 트래픽을 하나 이상의 서버나 장비로 분산하기 위해 사용되는 기술이다.
  • 로드 밸런서(Load Balancer) 는 로드 밸런싱을 수행하는 소프트웨어나 하드웨어를 지칭한다.

2.  웹 트래픽 증가에 대한 처리 방식

  1. Scale Up :
    - 기존보다 높은 성능을 보유한 웹 서버로 시스템(CPU, 메모리, 디스크 등) 을 업그레이드하는 방식
    - 성능이 높아질수록 비용이 기하급수적으로 늘어나는 단점이 있다.
    - 서버 중지 및 장애로 인한 웹 서비스 가용성에 문제가 발생할 수 있다.
  2. Scale Out
    - 저렴한 노드 여러 개를 하나의 Cluster로 구성하는 방식
    - 하나의 노드에 문제가 발생하여도 웹 서비스가 중단되지 않아 가용성이 높다.
    - 트래픽을 분산처리함으로써 높은 가용성과 부하 분산을 통한 고효율을 제공한다.

3. 로드 밸런싱의 방식

  • Round Robin :
    Real 서버로의 Session 연결을 순차적으로 맺어주는 방식이다. Session 수에 관계없이 순차적으로 연결시키는 방식이기 때문에 Session 에 대한 보장을 제공하지 않는다.
  • Hash :
    Hash 알고리즘을 이용한 로드 밸런싱 방식이다. Client와 Server 간의 Session을 유지하기 때문에 Client가 특정 Server 로 연결된 이후 동일 서버로만 연결되는 구조로, Session에 대한 보장을 제공한다.
  • Least Connection :
    가장 적은 Session 을 보유한 서버로 Session 을 맺어주는 연결 방식이다. Session에 대한 보장을 제공하지 않는다.
  • Response Time :
    서버 간의 Resource와 Connection 의 차이가 있는 환경에서 사용되는 방식이다.
    응답 시간을 고려하여 빠른 응답시간을 제공하는 서버로 Session 을 맺어주는 방식이며, Session에 대한 보장을 제공하지 않는다.

    ※Session : 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결상태를 의미하는 보안적인 다이얼로그 및 시간대를 가리킨다.

4. AWS ELB의 종류 및 유형

구분 내용 적합 서비스
Application Load Balancer - OSI 모델 7계층(Application) 에서 작동
- HTTP, HTTPS 같은 고급 로드 밸런싱 서비스에 적합
HTTP/HTTPS 서비스
Network Load Balancer - OSI 모델 4계층(Transport Layer) 에서 작동
- 짧은 지연 시간과 초당 수백만 개의 요청 처리가 가능하고, 가용 영역 1개당 1개의 정적 주소 사용하여 트랙픽의 변동이 심한 서비스에 최적화되어 있다.
TCP 트래픽 로드 밸런싱 및
짧은 지연 시간
Classic Load Balaner - OSI 모델 4계층,3계층(Network Layer)에서 작동 EC2-Classic 네트워크로 구축된
애플리케이션
항목 External Elastic Load Balance Internal Elastic Load Balance
인터넷 연결 연결 가능 연결 불가
사용 가능 IP Public IP, Private IP Private IP
접속 가능 영역 인터넷, VPC 내부 VPC 내부

5. Amazon Auto Scalling

  • Auto Scaling 을 사용하면 애플리케이션 가용성을 편리하게 관리할 수 있다
  • 사용자가 정의한 조건에 따라 자동으로 인스턴스 수를 Scale In, Scale out 을 해주기 때문에 비용 낭비를 최소화할 수 있다.
  • 시작 구성은 여러 개의 Auto Scaling 그룹에 지정될 수 있으나, Auto Scaling 그룹은 하나의 시작 구성만을 지정할 수 있다.
Comments