나의 호기심

AWS의 ELB, ALB, CLB, NLB 란?

chaeyoung- 2023. 7. 28. 10:23

 

 

 

먼저 로드 밸런서는 종류가 다양하다.

다양한 만큼 사용의 이점을 이해하고 있을 경우 AWS를 사용하는데에 도움이 된다.

 

먼저 ALB와 ELB의 차이를 살펴보자

 

 

 

ALB

애플리케이션 로드 밸런서의 약자,

웹 서비스에 걸리는 부하를 분산해주는 역할을 한다. 트래픽 증가는 웹 서비스의 속도 저하와 에러 발생의 주 원인이 된다. ALB와 같은 로드밸런서는 이러한 웹 서비스의 부하를 줄여 안정성, 고가용성을 높여준다.

즉, 서버에 가해지는 트래픽을 여러대의 서버에 균등하게 분산시켜주는 역할을 하는 것이 로드 밸런서이다.

서버의 인스턴스 성능을 향상시키는 Scale-Up 과 서버를 여러 대로 나눠서 트래픽을 처리하는 Scale-out 방이 있다.

  • 비용 절감
  • 고가용성 지원
  • 무중단 서비스 제공
  • 사용자 인증등의 보안 향상
  • 다양한 레벨의 부하에 대한 유연한 응답
  • 애플리케이션 밀착 모니터링 및 감수
오토 스케일링(Auto Scaling) 이란 서버에 부하가 발생할 때, 자동적으로 서버 수를 늘려 부하를 분산하는 방식
로드 밸런싱(Load Balancing) 은 들어오는 요청을 여러 서버로 분산해 주는 역할입니다.

 

종류

원조 AWS로드 밸런싱 서비스는 ELB이다. 이후에 ALB가 추가로 나왔으며, CLB로 명칭이 변경되었다.

ALB = ELB = CLB 인 것이다. 현재 NLB는 기능이 더욱 추가되어 출시했다.

 

ELB는 AWS의 로드 밸런싱 서비스 전체를 통틀어 칭하는 말이기도 하다.

 

 

 

ALB와 ELB의 차이점

1. 애플리케이션 레이어에서의 작동

과거의 ELB는 4계층, 7계층 두개 환경 모두에서 로드 밸런서 역할을 해왔다. 4계층에서는 네트워크 패킷의 검사 없이 부하를 분산, 7계층에서는 패킷의 HTTP 및 HTTPS 정보에 접근해 더 효율적으로 부하 분산을 수행했다.

 

ALB는 7계층에서만 작동하는 로드밸런서이다. ELB와 달리 애플리케이션 계층에서만의 특별한 작동 스타일을 갖췄다.

 

 

2. WebSocket 및 HTTP/2 지원

ALB는  WebSocket과 HTTP/2 프로토콜을 지원한다. 표준 프로토콜 지원을 통해 네트워크 트래픽을 줄이고, 접속의 효율을 높이게 된다.

 

 

3. 최신 애플리케이션 아키텍처 맞춤형 사용

마이크로 서비스, 컨테이너와 같은 가장 최신 버전의 애플리케이션 아키텍처에 맞도록 ALB를 사용할 수 있다. 보다 나은 요청 라우팅을 지원하기 때문에 자유롭고 유연한 로드밸런서로서의 사용이 가능하다.

 

 

4. 타겟 그룹에 라우팅 가능
ALB는 인스턴스별로 묶어 각기 다른 타겟 그룹에 적용할 수 있고, 라우팅을 설정할 수 있다.
직접 인스턴스화 되는 ELB와는 달리 서비스를 독립적으로 실행할 수 있고, 여러 라우팅 규칙을 정의할 수 있다.

 

타겟 그룹 : 요청을 처리할 대상(서버)에 대한 집합이며, Load Balancer 서비스에서만 사용.
Load Balancer의 리스너를 생성할 때 동작에 대한 Target Group을 지정해 조건에 따라 트래픽을 분배하게 됩니다.

라우팅: 어떤 네트워크 안에서 데이터를 최적의 경로를 선택하는 과정


 
5. ELB를 ALB로 변경할 때의 이점

  • 여러 개의 로드 밸런서를 통합하여 비용을 절감할 수 있다
  • WebSocket / HTTP2 등으로 성능을 향상시켜 효율을 증대할 수 있다.
  • AWS WAF 사용을 통해 보안을 강화할 수 있다.
  • 액세스 로그와 같은 정보를 압축형태로 저장하여 람다 함수로 등록할 수 있다.

 

NLB

 

NLB(Network Load Balancer)는 위의 ALB, CLB(ELB)와 구분되는 고유한 특징이 있다. 

네트워크 로드 밸런서는 고성능을 요구하는 환경에서의 부하분산에 적합한 솔루션이다. 

낮은 레이턴시로 초당 수백만 건의 요청을 처리할 수 있으며 갑작스러운 트래픽 증대 및 변화에도 최적화되어있다. 

이러한 특성 때문에 NLB는 없어서는 안될 로드밸런서이다.

 

 

 


reference:

https://yoo11052.tistory.com/63

 

[AWS] 로드 밸런서란?

ELB 와 ALB에 대해 들어가기 앞서 로드밸런서에 대해 짚고 넘어가 봅시다. 로드 밸런서(Load Balancer) 서버에 가해지는 트래픽을 여러대의 서버에게 균등하게 분산시켜주는 역할을 하는 것이 로드 밸

yoo11052.tistory.com