[AWS] ELB

윤동환·2022년 12월 22일
0
post-thumbnail

참고 영상

ELB란?

Elastic Load Balancer의 약자로, 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시킨다.
ELB는 단일 가용 영역 또는 여러 가용 영역에서 다양한 애플리케이션 부하를 처리할 수 있다.
고가용성, 자동확작/축소, 강력한 보안을 갖추고 있다.

Load Balancing이란?

여러 인스턴스를 Auto Scaling Group으로 관라를 할 때 문제점

  • 유저의 입장에선 모든 인스턴스의 IP주소를 알아야 접근이 가능하다.
  • 인스턴스가 사라지거나 생성될 때 유저에게 업데이트를 하지 않으면 유저는 접속 할 수 없다.
  • 인스턴스가 많아지면 이러한 관리 비용이 굉장히 많이 든다.
    -> 부하를 분산해주어야 한다.

부하 분산자(Load Balancer)

사용자는 하나의 address로 접근하면 로드 밸런서가 알아서 인스턴스로 분배해준다.

특징

  • 지속적으로 IP 주소가 바뀌며 IP 고정 불가능
    -> 항상 도메인 기반으로 사용
    (네트워크 로드밸런서를 사용하여 아키텍쳐 적으로 조합을 하면 IP주소를 고정시킬 수 있음)
  • Health Check
    -> 직접 트래픽을 발생시켜 Instance가 살아있는지 체크
  • Auto Scaling과 연동 가능
  • 여러 가용영역에 분산 가능

ELB 종류

  • Application Load Balancer (똑똑함)
    • 트래픽을 모니터링하여 라우팅 가능
      (ex. image.sample.com -> 이미지 서버로, web.sample.com -> 웹 서버로 트래픽 분산)
  • Network Load Balancer (빠름)
    • TCP 기반 빠른 트래픽 분산
    • Elastic IP 할당 가능 (IP 고정 서비스)
  • Classic Load Balancer (옛날 것, 현재는 잘 사용 안함)
  • Gateway Load Balancer (먼저 트래픽 체크)
    • 가상 어플라이언스 배포/확장 관리를 위한 서비스

대상그룹 (Target Group)

  • ALB(Application Load Balancer)가 라우팅 할 대상의 집합
  • 구성
    - 3 + 1 종류
    • EC2 Inctance
    • Private IP(AWS, ON premise 내부에서만 사용됨)
    • Lambda (서버리스 서비스로 코드를 실행시켜 간단하게 함수 형식으로 쓸 수 있는 서비스)
    • ALB
  • 프로토콜 (HTTP, HTTPS, gRPC등)
  • 기타 설정
    • 트래픽 분산 알고리즘, 고정 세션 등
profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글