본문 바로가기
Cloud/Amazon Cloud

[ELB] Elastic Load Balancer(ELB) 로드 밸런서란?

by ganyga 2024. 2. 26.

로드 밸런싱(Load Balancing)이란?

  • 로드 밸런서는 트래픽을 백엔드나 EC2인스턴스 또는 서버들로 전달하는 역할을 함

예를 들어, EC2 인스턴스가 세 개가 있다고 할 때, 인스턴스 앞에는 로드 밸런서(Elastic Load Balancer)가 있고, 세 명에 유저들은 로드 밸런서로 바로 연결됨

첫 번째 사용자의 로드는 백엔드 EC2 인스턴스 중 하나로 연결 됨, 다른 사용자가 로드 밸런서에 연결된 경우, 로드 밸런싱에 의해 이 로드는 다른 EC2 인스턴스로 보내지게 됨, 마지막으로 세 번째 사용자가 로드 밸런서에 연결되면 로드 밸런싱에 의해 세 번째 EC2 인스턴스로 보내지게 됨

더 많은 사용자가 연결될수록 EC2 인스턴스로 가는 부하가 더욱 분산됨을 알 수 있음

하지만, 사용자는 백엔드 인스턴스 중 어떤 것에 연결되어 있는지 알 수 없고, 로드 밸런서에 연결되면 한 엔드 포인트에 연결이 된다는 것만 알고 있음

 

로드 밸런서가 필요한 이유

  • 부하를 다수의 다운스트림 인스턴스로 분산하기 위해서 필요함
  • 애플리케이션에 단일 액세스 지점(DNS)을 노출하게 됨
  • 다운스트림 인스턴스의 장애를 원활히 처리할 수 있음
  • 로드 밸런서가 상태 확인 메커니즘으로 인스턴스의 상태를 확인하여, 어떤 인스턴스로 트래픽을 보낼 수 없는지 확인해 줌
  • SSL 종료도 할 수 있으므로 웹 사이트에 암호화된 HTTPS 트래픽을 가질 수 있음
  • 쿠키로 고정도를 강화할 수 있음
  • 고가용성을 가짐
  • 클라우드 내에서 개인 트래픽과 공공 트래픽을 분리할 수 있음

 

Elastic Load Balancer를 사용하는 이유

  • 일래스틱 로드 밸런서는 관리형 로드 밸런서이기도 함
    • AWS가 관리하며, 어떤 경우에도 작동할 것을 보장함
    • AWS가 업그레이드와 유지 관리 및 고가용성을 책임짐
    • 로드 밸런서의 작동 방식을 수정할 수 있게끔 일부 구성 놉도 제공함
  • 자체 로드 밸런서를 마련하는 것보다 저렴함
  • 자체 로드 밸런서를 직접 관리하려면 확장성 측면에서 굉장히 번거로움
  • 로드 밸런서는 다수의 AWS 서비스들과 통합되어 있음

 

Health Checks(상태 확인)

  • 상태 확인은 Elastic Load Balancer가 EC2 인스턴스의 작동이 올바르게 되고 있는지의 여부를 확인하기 위해 사용됨
  • 만약, 제대로 작동하는 중이 아니라면 해당 인스턴스로는 트래픽을 보낼 수 없기 때문에 로드 밸런서에겐 인스턴스의 상태가 매우 중요함
  • 상태 확인은 포트와 라우트에서 이루어짐
  • EC2 인스턴스가 괜찮다는 신호, 즉 HTTP 상태 코드로 200으로 응답하지 않는다면 인스턴스 상태가 좋지 않다고 기록되며, Elastic Load Balancer는 그쪽으로 트래픽을 보내지 않게 됨

 

Load Balancer Security Groups(로드 밸런서 보안 그룹)

사용자는 HTTP나 HTTPS를 사용해 어디서든(Anywhere) 로드 밸런서에 접근이 가능함 → 로드 밸런서의 보안 그룹은 HTTP/HTTPS 인 바운드 규칙을 0.0.0.0/0을 허용함

EC2 인스턴스는 로드 밸런서를 통해 들어오는 트래픽만을 허용해야 하기 때문에 → EC2 인스턴스의 보안 그룹은 포트 80에서 HTTP 트래픽을 허용하며 대상은 IP 범위가 아닌, 로드 밸런서의 보안 그룹이 됨

 

따라서, EC2 인스턴스의 보안 그룹을 로드 밸런서의 보안 그룹으로 연결해야 함 → 이렇게 함으로써 EC2 인스턴스는 로드 밸런서에서 온 트래픽만을 허용하게 됨 


참고 자료

Udemy AWS Certified Solutions Architect Associate

 

 

'Cloud > Amazon Cloud' 카테고리의 다른 글

[ECR] Amazon ECR이란?  (0) 2024.03.05
[ELB] ALB와 NLB 차이  (0) 2024.02.26
[Route 53] Amazon Route 53 ?  (0) 2024.02.23
[Route 53] DNS(Domain Name System)란? DNS 동작 방식  (0) 2024.02.23
[EFS] AWS EFS(Elastic File System) 이란?  (0) 2024.02.20