AWS

Lesson03

JAEJUNG 2021. 11. 15. 16:58

Load Balancer

사용 이유

health check, SSL 통신 지원 등 여러 이유가 있지만 가장 큰 이유는

Client의 트래픽을 여러 인스턴스에 분산처리 하기 위해 사용한다.(High Availability)

AWS에서 제공하는 Load Balancer의 종류는 CLB, NLB, ALB가 있으며 CLB는 EC2-Classic을 위한 로드밸런서로

현재는 거의 사용하지 않아서 생략하도록 한다.

 

ALB(Application Load Balancer) NLB(Network Load Balancer)
http, https 트래픽 기반 EC2, 마이크로서비스, Container 등 여러 대상에 분산 TCP/UDP 트래픽 기반 EC2, 마이크로서비스, Container 등 여러 대상에 분산
유동적 IP 고정 IP
SSL 적용 가능 SSL 적용 불가능(애플리케이션에서 따로 적용)
7 Layer까지 확인하므로 NLB보다 속도가 느림 4 Layer까지만 확인하므로 속도가 빠름

 

NLB는 단순히 '몇번 포트로 들어온 경우 어떤 그룹으로 포워딩 해줄까?' 에 대한 정보가 담겨있다면

ALB는 7계층 로드밸런서인만큼 몇번 포트 -> 어떤 그룹? + host, path에 따라 어디로 리다이렉션 시킬지도 결정할 수 있다.

아래는 cli를 통해 특정 path-pattern을 추가하는 방법이다.

Private Link를 활용한 NLB --------> ALB

 

ALB는 유동 IP이기 때문에 Client가 ALB의 동일한 IP로 연결할 수 없을 경우가 생기고, 화이트리스팅을 위한 IP 설정에도 까다로움이 생긴다.

그래서 NLB의 고정 IP주소의 이점을 위해 Lambda 함수를 통해 NLB에서 트래픽을 받아 -> ALB로 전송했는데,

올해 9월 AWS에서 ALB를 타겟 그룹으로 생성하여 NLB에 추가하는 형태로 구성이 가능해졌다.

 

 

 

'AWS' 카테고리의 다른 글

AWS 학습 (+ VPC Peering 실습)  (0) 2021.11.25
AWS Database  (0) 2021.11.23
AWS H01_Lesson02  (0) 2021.11.12
AWS H01_Lesson01  (0) 2021.11.10
error: You must be logged in to the server (Unauthorized) 오류 해결  (0) 2021.10.07