티스토리 뷰

ELB ( Elastic Load Balancing )

 

ELB는 부하 분산과 고가용성을 제공하는 서비스

 

ELB 특징

- L4/L7 장비를 구입하거나 소프트웨어로 서버를 구축하지 않아도 부하 분산 기능을 사용할 수 있고 고가용성 서비스를 구축

- 한 곳에 집중되는 HTTP, TCP, SSL 트래픽을 여러 EC2 인스턴스로 분산처리

- 서버가 정상적으로 가동 중인지 확인(Health Check)

- 일부 EC2 인스턴스가 중지되더라도 트래픽을 정상 EC2로 보냄

- 리전별로 생성 해야함

 

 

[AWS] ELB 로드밸런싱 개념 및 이해

[ELB 기본개념도]

 

 

ELB 기본개념

L4(OSI Layer 4): OSI 레이어에서 4번째 전송계층을 뜻함. TCP, UDP 등의 프로토콜이 대표적이며 포트 번호로 구분한다. 보통 OSI 레이어에서 3번째 네트워크 계층의 IP와 묶어서 처리. L4 로드 밸런싱이라고 하면 IP 주소와 포트 번호를 기준으로 트래픽을 분배

L7(OST Layer 7): OSI 레이어에서 7번째 애플리케이션 계층을 뜻함. HTTP 프로토콜이 대표적이며 L7 로드 밸런싱이라고 하면 HTTP 헤더의 내용을 기준으로 트래픽을 분배

로드밸런싱 알고리즘: 트래픽을 각 EC2 인스턴스로 분배할 때 사용하는 알고리즘. ELB는 라운드 로빈(Round Robin) 방식의 알고리즘을 사용하며 우선 순위를 두지 않고 순서대로 분배

헬스 체크(Health Check): EC2 인스턴스가 정상적으로 가동 중인지 확인하는 기능. EC2 인스턴스가 중단되었다고 판단되면 해당 EC2인스턴스는 트래픽 분배에서 제외

Connection Draining: Auto Scaling이 사용자의 요청을 처리 중인 EC2 인스턴스를 바로 삭제하지 못하도록 방지하는 기능. 예를 들어 사용자 수가 줄어들면 Auto Scaling에 의해 EC2 인스턴스를 삭제하는데. 마침 사용자가 해당 인스턴스에서 파일을 다운로드하는데 인스턴스가 삭제되면 파일이 끊킴. 즉 삭제하기전에 요청을 처리 할 수 있도록 지정한 시간만큼 기다림.

Sticky Sessions: 사용자의 세션을 확인하여 적절한 EC2 인스턴스로 트래픽을 분배하는 기능. HTTP 쿠키를 이용한 세션이며 L7의 로드 밸런싱 기능.

Latency: ELB 로드 밸런서와 EC2 인스턴스 간의 지연시간

HTTP 2XX, 4XX, 5XX: EC2 인스턴스에서 리턴한 HTTP Response Code

ELB HTTP 4XX, 5XX: ELB 로드 밸런서에서 리턴한 HTTP Error Code

Surge Queue Length: ELB 로드 밸런서에서 EC2 인스턴스로 전달되지 못하고 큐에 남아 있는 요청의 개수

Spillover Count: 서지 큐가 꽉 차서 ELB 로드 밸런서가 거부한 요청의 개수