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 |