Elastic Load Balancing을 사용하여 트래픽 리디렉션

2021. 8. 16. 18:43카공리스트/AWS Cloud Practitioner Essentials

본 글의 내용은 AWS Cloud Practitioner Essentials (Korean)에서 발췌함

 

Elastic Load Balancing (ELB)

 

Elasitc Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스와 같은 여러 리소스에 자동으로 분산하는 AWS의 주요 관리형 서비스다.

 

로드 밸런서는 오토 스케일링 그룹으로 들어오는 모든 웹 트래픽의 단일 접점 역할을 한다.

 

즉, 들어오는 트래픽의 양에 맞춰 Amazon EC2 인스턴스를 추가하거나 제거하므로 이러한 요청이 로드 밸런서로 먼저 라우팅 된다.

그 다음, 요청을 처리할 여러 리소스로 분산된다.

 

예를 들어 Amazon EC2 인스턴스가 여러 개인 경우 Elastic Load Balancing은 워크로드를 여러 인스턴스에 분산하므로 어느 한 인스턴스가 대량으로 워크로드를 처리할 필요가 없다.

 

 

ELB는 개별 EC2 인스턴스가 아닌, 리전 수준에서 실행되므로 사용자가 추가로 작업하지 않아도 자동으로 고가용(High Availability) 서비스가 된다.

 

또한 ELB는 자동으로 확장 가능하다.

트래픽이 증가하면 시간당 비용 변경 없이 추가 처리량을 처리하도록 설계되어있다.

 

EC2 플릿이 자동으로 확장되면 각 인스턴스가 온라인 상태가 될 때마다 오토 스케일링 서비스는 ELB에 인스턴스가 트래픽을 처리할 준비가 되었음을 알린 후 꺼진다.

 

플릿이 축소되면 ELB는 먼저 모든 신규 트래픽을 중지한 후 기존 요청이 완료될 때까지 기다린 다음 비운다.

이 작업이 끝나면 오토 스케일링 엔진은 기존 고객에 대한 중단을 유발하지 않고도 인스턴스를 종료할 수 있다.

 

 

 Amazon EC2 플릿은 여러 Amazon EC2 인스턴스 유형과 가용 영역 간에, 그리고 온디멘드 구매 모델, Amazon EC2 예약 인스턴스(RI) 구매 모델 및 Amazon EC2 Spot 구매 모델에 걸쳐 Amazon EC2 용량을 간편하게 프로비저닝할 수 있는 기능이다. 

 

 

ELB는 외부 트래픽에만 사용되지 않는다.

각 프런트 엔드 인스턴서는 각 백엔드 인스턴스를 인식한다.

새로운 백엔드 인스턴스가 현재 아키텍처에서 온라인 상태가 되면 모든 프런트 엔드 인스턴스에 트래픽을 수신해도 된다고 통보한다.

이 구조는 인스턴스가 5개만 되도 복잡해진다.

두 계층(백엔드, 프런트 엔드) 모두에 인스턴스 수백 개가 있다고 가정한다면, 효율적인 인스턴스 네트워크를 유지하는 것 조차 불가능할 것이다. (각 계층은 수요에 따라 끊임없이 변하기 때문)

 

백엔드 트래픽을 컨트롤할 때도 ELB를 사용한다.

ELB는 리전 구조의 단일 URL로 각 프런트 엔드 인스턴스에서 사용한다.

ELB는 대기 중인 요청이 가장 적은 백엔드로 트래픽을 보낸다

백엔드 규모 조정 시, 새 인스턴스가 준비되면 ELB에게 트래픽을 수신하여 작업하라는 지시를 내린다.

프런트 엔드는 실행중인 백엔드 인스턴스 수를 신경쓰지 않는 진정한 분리된 아키텍처이다.

 

'카공리스트 > AWS Cloud Practitioner Essentials' 카테고리의 다른 글

다양한 컴퓨팅 서비스  (0) 2021.08.17
메시징 및 대기열  (1) 2021.08.16
Amazon EC2 확장  (0) 2021.08.16
Amazon EC2 요금  (0) 2021.08.16
Amazon EC2 인스턴스 유형  (0) 2021.08.10