AWS

Load Balancer에 대해 알아보기 - AWS의 대표적인 로드 밸런서 3가지(ALB, NLB, GWLB)까지

heesoohi 2025. 2. 18. 21:09

  # 로드 밸런서 Load Balancer   

 

로드 밸런서는 인터넷 트래픽을 다운스트림의 여러 서버로 전달하는 서버로, 로드 밸런서를 이용하면 AWS를 더 탄력적으로, 즉 사용량에 맞게 사용할 수 있다. 

 

로드 밸런서가 작동하는 순서를 설명해보자면..

 

1. 사용자1이 로드 밸런서와 통신하면, 로드 밸런서를 트래픽을 연결된 여러 EC2 인스턴스 중 하나로 보낸다. 

2. EC2 인스턴스는 요청에 맞게 응답을 보내고, 사용자는 그 응답을 받는다. 

3. 사용자 2, 사용자 3... 도 같은 방식으로 EC2 인스턴스로 부터 응답을 받는다. 

 

이러한 상황에서 알 수 있듯 로드밸런서는 여러 EC2 인스턴스에 걸쳐 부하를 분산시키는 역할을 하며, 이러한 작업 덕분에 백엔드를 스케일링(=확장) 할 수 있다.

  🧐 로드 밸런서를 사용하는 이유?  

 

- 로드 밸런서를 사용하면 여러 다운스트림 인스턴스에 부하(load)를 분산시킬 수 있다.

- 애플리케이션에 단일 액세스 지점만 노출할 수 있다. (DNS)

- 로드밸런서가 정기적으로 인스턴스의 상태를 확인하고, 실패가 있는 경우 해당 인스턴스에 트래픽을 보내지 않는다. 덕분에 실패를 원활하게 처리할 수 있다. 

- 웹사이트의 SSL 종료(HTTPS)를 제공한다.

- 로드 밸런서는 여러 가용 영역에서 사용가능하기 때문에, 애플리케이션의 가용성(Availability)이 높아진다.

 

 

  # Elastic Load Balancer   

 

ELB는 관리형 로드 밸런서로, AWS가 보장하는 작업들이 많아 사용자의 부담이 줄어든다. 

서버 프로비저닝, 업그레이드와 유지보수, 고가용성 등등 AWS가 보장하고, 개발자는 로드밸런서의 동작 몇가지를 구성하기만 하면 된다. 

 

 

AWS에서 제공하는 로드 밸런서 3가지

 

1. ALB - Application Load Balancer

  • HTTP, HTTPS 전용 트래픽을 위한 로드밸런서로 계층 7 유형
  • 사용자가 HTTP/HTTPS/gRPC 프로토콜 중 하나에서 로드 밸런서에 액세스하면 로드 밸런서는 트래픽을 다운스트림 EC2 인스턴스로 라우팅함

 

2. NLB - Network Load Balancer

  • TCP, UDP를 허용하는 초고성능 로드 밸런서. 계층 4 유형
  • ALB와 같은 아키텍처

 

3. GWLB - Gateway Load Balancer

  • 계층 3 유형
  • IP 패킷 자체에서 GENEVE 프로토콜 사용
  • 트래픽을 EC2 인스턴스에서 관리하는 방화벽으로 라우팅하여 클래식 방화벽이나 침입 감지, 심층 패킷 검사 등을 실행
  • 트래픽 부하를 EC2 인스턴스에서 실행하는 가상 어플라이언스에 분산하여, 트래픽을 분석하거나 방화벽 작업을 실행. 그 후 트래픽이 다시 GWLB로 전송되고 애플리케이션으로 전달. 
    GWLB는 IP 패킷 자체 검사, 방화벽 기능/침입감지/심층 패킷 검사를 실행할 수 있도록 중간에 위치함.