ELB (Elastic Load Balancing)

워크로드를 다수의 컴퓨팅 리소스로 분산한다.

서비스 영향을 주지않고 컴퓨팅 리소스를 추가/제거할 수 있다.

로드 벨런서는 등록된 대상의 상태를 모니터링하고 정상 대상으로만 트래픽이 라우팅 되도록 한다.

ELB도 서버를 이용해 구현한 것이므로 멀티AZ 환경에서는 내부적으로 AZ마다 ELB가 구성되므로 AZ별 부하를 고려해서 구성한다.

ELB에는 ALB, NLB, CLB 3가지 종류가 있다.

 

 

ALB (Application Load Balancer)

HTTP, HTTPS 로드밸런싱에 최적화 되어 있음

웹소켓, 사용자 인증도 지원 함

L7전용이라 TCP등의 로드밸런싱 불가능

host based routing과 path based routing을 지원하며(=content based routing) 여러개의 URL과 path를 가질 수 있음

 

NLB (Network Load Balancer)

성능면에서 최고

TCP, UDP등의 L4의 로드밸런싱 가능

 

CLB (Classic Load Balancer)

TCP, SSL, HTTP, HTTPS 등 L4~L7의 로드밸런싱이 가능

웹서버 health check시 /index.html경로를 참조 하기 때문에 이 파일이 없으면 health check가 실패 하므로 이런 경우 TCP로 80번 포트를 모니터링해서 우회할 수 있다.

CLB는 URL하나만 가질 수 있음

 

 

기능 ALB NLB CLB
프로토콜 HTTP, HTTPS TCP, UDP, TLS TCP, SSL/TLS, HTTP, HTTPS
플랫폼 VPC VPC EC2-Classic, VPC
상태 확인
CloudWatch 지표
로깅
영역 장애 조치
Connection Draining(등록 취소 지원)  
같은 인스턴스의 여러 포트로 로드 밸런싱  
IP 주소를 대상으로 사용 (TCP, TLS)   
로드 밸런서 삭제 탐지  
구성 가능한 유휴 연결 시간 초과  
교차 영역 로드 밸런싱
고정 세션
정적 IP    
탄력적 IP 주소    
소스 IP 주소 유지    
리소스 기반 IAM 권한
태그 기반 IAM 권한  
느린 시작    
WebSocket  
PrivateLink 지원   (TCP, TLS)   
소스 IP 주소 CIDR 기반 라우팅    
계층 7
경로 기반 라우팅    
호스트 기반 라우팅    
네이티브 HTTP/2    
리디렉션    
고정 응답    
Lambda 함수를 대상으로 사용    
HTTP 헤더 기반 라우팅    
HTTP 방법 기반 라우팅    
쿼리 문자열 파라미터 기반 라우팅     
보안
SSL 오프로드
SNI(서버 이름 표시)  
백엔드 서버 암호화
사용자 인증    
사용자 지정 보안 정책    

 

 

 

== 참고

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/userguide/what-is-load-balancing.html

https://aws.amazon.com/ko/elasticloadbalancing/features/

 

 

AND