DevOps/Cloud

[AWS] 로드밸런서란? (ALB vs NLB vs CLB)

장그래 2022. 6. 20. 16:55
반응형

로드밸런서란? (Load Balancer)

로드밸런서란 서버에 가해지는 부하를 분산해주는 장치이다. 

왜 로드밸런서가 필요할까?

서버를 운영하고 있을 때, 서버가 감당하지 못할 트래픽이 오게 되면 해결책은 두 가지가 있다.
서버 스펙을 늘리거나 (scale-up), 서버의 개수를 늘리는(scale-out) 방식으로 문제를 해결하게 되는데, 보통 비용이 더 싸고 안정성 때문에 scale out 방식으로 문제를 해결한다. (서버가 죽더라도 다른 서버가 대체할 수 있는 장점)

서버의 대수를 늘린다고 해서 문제가 단순히 해결되는 것이 아닌, 적당한 서버에 트래픽을 분산시켜줘야 하는데 이 역할을 하는 것이 바로 로드 밸런서이다. (On promise 환경에서는 이것을 L4/L7 스위치라고 칭한다)

 

로드 밸런서를 통한 서비스 제공 환경

AWS에서의 로드밸런서 

AWS에서도 로드밸런서 기능을 제공해주고 있다. 

로드 밸런서는 크게 자식이 서비스하는 대상을 정의하는 리스너(Listener), 부하 분산 대상을 정의하는 대상 그룹(Target Group)으로 이루어져 있다.

출처 -CloudNet



▪️ 리스너(Listener)
: 프로토콜 및 포트를 사용하여 연결 요청을 확인하는 프로세스. 로드밸런서에서 서비스하고자 하는 프로토콜과 포트를 지정하는 규칙(Rule)을 생성

▪️ 대상 그룹(Target Group)
: 하나 이상의 대상을 라우팅 하여, 부하 분산을 하는 데 사용함. 대상 그룹에 속한 대상은 지속적으로 Keepalive를 통해 Health Check 되고 있음

AWS의 로드밸랜서

▪️ ALB (L7 로드 밸런싱)
: HTTP나 HTTPS와 같이 웹 애플리케이션에 대한 분산 처리를 제공하는 로드 밸런서
HTTP 헤더 정보나 URI와 같은 정보를 기반으로 프로토콜을 이해한 후 부하 분산할 수 있음
고정IP가 따로 할당되지 않아, 고정 IP가 필요하면 앞에 NLB를 연결해야함.
비용 - Application Load Balancer 시간(또는 부분 시간)당 0.0225 USD, LCU 시간(또는 부분 시간)당 0.008 USD




▪️NLB
: TCP나 UDP 프로토콜에 대한 포트 정보를 정의하여 네트워크 기반의 분산 처리를 제공하는 로드밸런서 (OSI 4 계층 레벨의 로드밸런서)
가장 처리 속도가 빠르며, 고정 IP 탄력적 IP를 보유할 수 있는 것이 특징
(NLB의 IP 확인법 :2022.11.11 - [Ops/Cloud] - [AWS] NLB IP 확인 (aws console))
비용 - Network Load Balancer 시간(또는 부분 시간) 당 0.0225 USD, NLCU 시간(또는 부분 시간) 당 0.006 USD

▪️GLB
: OSI 3 계층에서 작동하는 로드 밸런서 (자세한 설명은 링크 참조 )

▪️CLB
: VPC의 예전 버전인 EC2-Classic에 대해서도 분산 처리를 제공할 수 있는 이전 세대의 로드 밸런서
=> NLB 혹은 ALB를 쓰는 것을 권장함
(EC2-Classic 네트워크는 2022년 8월 15일 이후 종료 예정)

Elastic Load Balance
  ALB NLB CLB
Layer Layer 7 Reverse Proxy Layer 4 NAT Layer 4 / 7 Reverse Proxy
Protocols HTTP, HTTPS TCP TCP, SSL, HTTP, HTTPS
Platform VPC VPC EC2-Classic, VPC
Sticky sessions Support Not Support Support
Back-end server Encryption Support Not Support Support
Static IP Not Support Support Not Support
Elastic IP Not Support Support Not Support
Preserve Source IP Not Support Support Not Support

출처 - 베스핀 글로벌(Bespinglobal)

 

 

반응형