Load Balancer 종류
- Amazon 에서 제공하는 Load Balancer에는 3가지 종류가 있다
(1) ALB (Application Load Balancer)
- HTTP, HTTP 리스너만 등록 가능
- L7
(2) NLB (Network Load Balancer)
- TCP, TLS, UDP, TCP_UDP 리스너 등록 가능
- extreme performance (handling millions of requests per second)
- L4
(3) CLB (Classic Load Balancer)
Sticky Session
- User session 이 EC2 에 고정되도록 해준다. User session이 유지되는 동안 들어온 모든 request가 같은 EC2에서 처리된다.
- ALB, CLB 에서 해당 기능 사용 가능 (NLB 는 미제공)
- ALB에서 Sticky Session을 Enable하면, EC2 단위가 아닌 TargetGroup에 고정되어 request가 전송된다.
Cross Zone Load Balancing
- Zone별로 사용하는 EC2 개수에 차이가 있는 경우 사용하면 좋은 기능
- NLB는 default가 Off
- ALB는 내부적으로(기본으로) Cross Zone Load Balancing 기능이 On 되어 있음
NLB를 처음 생성해서 테스트를 하면 하나의 EC2에 세션이 계속 붙는걸 볼 수 있다.
NLB는 TargetGroup의 Target(EC2)에 로드가 분산되게 하려면 "Cross Zone Load Balancing" 기능을 On 해야 한다.
=> Cross Zone 기능이 Off되어 있는 경우, NLB가 부하분산을 제대로 하지 못하는 것처럼 보이는 이유는 NLB의 DNS로 부터 Load Balancer Node의 IP를 얻어올 때 "우선순위 또는 캐시(?)"등의 이유로 인해서 하나의 IP가 계속 얻어져 오기 때문인 것 같다. (추측, 확인 필요)
실제 NLB의 부하 분산 기능은 제대로 동작을 하는 것 같고, NLB의 노드의(Zone마다 한개씩) IP를 얻는 방식 때문인 것 같음. Route 기능에 대해 확인이 필요함
- CrossZone 에 대해 설명이 잘 되어 있는 사이트
https://cloudiamo.com/2019/01/24/cross-zone-load-balancing-always-on-right/
Health Check
- load balancer가 Target에 대해서 Health Check를 수행
- Threashold 만큼 Health check가 실패하면 load balancer를 서비스에서 Target을 제외시키고, 다시 해당 Target이 Healthy 상태가 되면 서비스에 추가시킨다. (자동)
ELB Pricing
- ELB 생성시에 Multi-AZ 를 선택하면 AZ별로 ELB가 기동되는데, 요금이 더 추가되지는 않는다!
- ELB 요금은 new connections/Active connections/processed bytes 중에서 큰 값으로 계산함
(참고 사이트 : https://aws.amazon.com/elasticloadbalancing/pricing/?nc1=h_ls)
- 이 때, ELB 기능을 더 잘 사용하기 위해 "Cross Zone" 기능을 Enable 하기도 하는데 ALB는 기본이 ON 이고 NLB 는 OFF 이다.
Cross Zone 에 대한 비용은 "리전"간 일 때만 부과되는 것으로 보임
Q: Application Load Balancer에서 교차 영역 로드 밸런싱을 위한 리전 AWS 데이터 전송에 요금이 부과됩니까?
A: 아니요. 교차 영역 로드 밸런싱은 Application Load Balancer에서 항상 켜져 있으므로 이 유형의 리전 데이터 전송에 대해 요금이 부과되지 않습니다.
Q: Network Load Balancer에서 교차 영역 로드 밸런싱을 활성화하면 리전 AWS 데이터 전송에 요금이 부과됩니까?
A: 예. 교차 영역 로드 밸런싱이 활성화되면 가용 영역 간 리전 데이터 전송에 요금이 부과됩니다. Amazon EC2 온디맨드 요금 페이지의 데이터 전송 섹션에서 요금을 확인하십시오.
(출처 : https://aws.amazon.com/ko/elasticloadbalancing/faqs/)
댓글