온프레미스에 L4 가 로드밸런싱(부하분산) 역할을 하는 것처럼
AWS 에는 ELB(Elastic Load Balancer) 라는 서비스가 로드밸런싱을 수행한다.
ELB 에는 3가지로 분류되고 요구사항별로 적절한 종류의 ELB 를 선택하면된다.
AWS ELB 사용 목적은 여러가지인데,
- 부하 분산
- 인스턴스 및 서비스 이중화
- health check를 통한 ELB에 연결된 인스턴스/서비스의 장애 확인
- 관리형 서비스이기 때문에 AWS 에서 어떠한 경우에도 정상서비스 보장, 업그레이드 및 유지 관리 포함
(온프레미스 L4 의 경우 HW 도 같이 신경써야 하는데, AWS ELB 는 AWS 에서 ELB의 HW 를 관리한다는 것)
- 트래픽 부하에 따른 오토스케일링 가능 (스케일 업,다운에 몇 분 정도 소요될 수 있음)
- 작동방식 수정할 수 있도록 KNOB을 제공
- 다른 AWS 서비스와도 연동 가능
ELB 는 3가지로 분류된다.
- Application Load Balancer(ALB) : HTTP, HTTPS 등 websocket 프로토콜 지원
- Network Load Balancer(NLB) : TCP, TLS, UDP 등 4계층 프로토콜 지원
- Gateway Load Balancer(GWLB) : 3계층과 IP 프로토콜 지원, 트래픽을 서드파티로 거쳐야 할때 사용한다. 예를 들면 트래픽을 서드파티의 방화벽, IPS/IDS 등에 거친 후 AWS 서비스로 받을 때 GWLB를 활용한다.
과거엔 CLB(Classic Load Balancer)도 있었으나, 현재에는 제공되지 않는 서비스이다.