본문 바로가기
AWS (Amazon Web Services)

ELB (Elastic Load Balancer)

by 책읽는구리 2019. 8. 17.
반응형

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 개수에 차이가 있는 경우 사용하면 좋은 기능

Cross Zone Load Balancing 기능을 사용하지 않는 경우

- 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/)

 

 

반응형

댓글