Study Note

AWS ELB - Elastic Load Balancing 본문

AWS

AWS ELB - Elastic Load Balancing

moreLearn 2021. 6. 2. 16:24

ELB는(Elastic Load Balancer)는 AWS에서 제공하는 관리 형로드 밸런서로 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수, 가상 어플라이언스와 같은 여러 대상에 자동으로 분산시킵니다. 즉 ELB는 AWS에서 제공하는 서비스중 분산 시스템 서비스입니다.

 

AWS 서비스 중 ELB는 다음 이미지와 같이 사용자 트래픽을 여러 서버에 분산시켜 주는 서비스입니다.

때문에 ELB를 사용함으로써 확장성(scalability) 고가용성(high availability)을 쉽게 끌어 올릴 수 있습니다.

Scalability(확장성)과 High Availability(고가용성)

  • Scalability(확장성) : Scalability는 비즈니스 요구에 맞도록 시스템을 확장하는 기능입니다. Scalability하는 방법에는 다음 두가지가 있습니다.
    • Vertical Scalability(수직적 확장)
      • 실질적인 컴퓨터 성능(CPU, GPU, RAM, HD, SSD)을 증가시켜서 시스템을 확장합니다.
      • 쉽게 확장이 가능하지만 하드웨어의 성능 증가에는 한게가 있어 일정 이상 시스템 확장에는 제한이 있습니다.
    • Horizontal Scalability(수평적 확장)
      • 컴퓨터의 수를 늘려서 시스템을 확장 하는 방법입니다. (ex. EC2 인스턴스)
      • Horizontal Scalability 확장을 하게되면 분산 시스템(ex. ELB)을 사용해야 합니다.
  • High Availability(고가용성)
    • High Availability는 최소 2개의 가용 영역에서 어플리케이션/시스템을 실행하는 것을 의미합니다.
    • High Availability는 일반적으로 Horizontal Scalability와 함께 적용됩니다.
    • High Availability의 목표는 하나의 가용 영역에 있는 데이터센터가 손실(ex. 자연재해)되어도 다른 가용 영역의 데이터센터에서 어플리케이션/시스템이 지속적으로 동작하는 것 입니다.

LB - Load Balancing

Load balancers는 Horizontal Scalability로 확장된 서버의 인터넷 트래픽을 여러 서버(EC2 인스턴스)의 다운 스트림으로 전달하는 서버입니다.

LB를 사용하는 이유로 다음과 같은 이유가 있을 수 있습니다.

  • 다운 스트림을 여러 인스턴스에 분산시켜 부하를 줄입니다.
  • 어플리케이션에 단일 액세스 지점(DNS)를 노출합니다.
  • 다운 스트림 인스턴스의 장애를 원할하게 처리합니다.
  • 정기적으로 인스턴스에 대한 상태를 확인 할 수 있습니다.
  • 웹 사이트에 SSL Termination(HTTPS)를 제공합니다.
  • 영역간 고가용성을 제공합니다.

ELB - Elastic Load Balancing

ELB는 관리 형로드 밸런서로 AWS에서는 다음과 같은 4가지의 LB를 서비스하고 있습니다.

  • Application Load Balancer (HTTP / HTTPS 만 해당) – 계층 7
  • Network Load Balancer (초 고성능, TCP 허용) – 계층 4
  • Classic Load Balancer (천천히 사용 중지됨) – 레이어 4 및 7
  • Gateway Load Balancer

 

'AWS' 카테고리의 다른 글

AWS VPC 서비스  (0) 2020.02.18