AWS/이론

ELB (Elastic Load Balancing)

이덩우 2022. 11. 13. 20:43

VPC 내 단일 서버를 통한 서비스를 구성하면 서버가 망가졌을 때 이용하지 못하므로 다음과 같은 다중 서버 구성이

적합하다.

하지만 위와 같은 구성도 사용자 입장애서 서비스 타깃을 일일이 지정해주어야하는 불편함이 존재한다.

또한 서비스에 장애를 인지하여 타깃을 변경하기 까지 사용자의 인식이 필요하고 시간이 소요된다.

이는 서비스 연속성을 보장하는 고가용성 구성이라 할 수 없을 것이다.

이 문제를 해결하기 위해 부하 분산기술인 로드밸런서가 존재한다.


ELB (Elastic Load Balancing)

ELB는 AWS에서 제공하는 로드밸런싱 기술이다.

로드밸런서의 구성은 다음과 같다,

리스너 : 리스너는 프로토콜 및 포트를 사용하여 연결 요청을 확인하는 프로세스이다. 로드 밸런서에서 서비스

하고자 하는 프로토콜과 포트를 지정하는 규칙(rule)을 생성한다.

한마디로 서비스 대상을 정의한다.

대상그룹 : 하나 이상의 대상을 라우팅하여 부하 분산을 하는 데 사용한다. 대상그룹(Target Group)에 속한 대상에

대해 주기적으로 확인하는 프로세스를 통해 Health Check을 수행한다. 정상적인 상태의 대상에게만

데이터를 전달한다.


ELB의 종류는 3가지로 나눌 수 있다.

1. ALB(Application Load Balancer) : HTTP나 HTTPS와 같이 웹 어플리케이션에 대한 분산처리를 제공한다.

2. NLB(Network Load Balancer) : TCP나 UDP프로토콜에 대한 포트 정보를 정의하여 네트워크 기반의

분산처리를 제공하는 로드밸런서이다.

3. CLB(Classic Load Balancer) : VPC의 예전 버전인 EC2-Classic에 대해서도 분산 처리를 제공할 수 있는

이전 세대의 로드 밸런서이다.

* 일반적인 VPC환경에서는 ALB나 NLB를 사용하는 것이 옳다. 웹 어플리케이션에 대한 로드밸런싱은 OSI 7계층에 특화되어 유연하게 관리할 수 있는 ALB를 사용하고, 그 외에 프로토콜은 NLB를 사용하도록 한다.(OSI 4계층)

ALB는

  1. 다른 로드밸런서에 비해 처리 속도가 조금 느리다.
  2. HTTP(S)에 대해 세부적이고 다양한 정책으로 라우팅을 할 수 있다.
  3. Lambda 함수를 호출하여 HTTP(S) 요청을 처리할 수 있다.

NLB는

  1. 가장 빠른 처리속도가 가능하다.
  2. 고정IP나 탄력적IP를 보유할 수 있다.
  3. VPC 엔드포인트 서비스로 연결해 프라이빗 링크 구성이 가능하다.


 

ELB의 통신방식은 퍼블릭 주소를 통한 인터넷 연결방식과 프라이빗 주소만 가지고 있어, 내부에서 연결하는 방식이 있다.

ELB의 특징으로는

  1. ELB로 인입되는 트래픽을 다수의 대상으로 분산하여 고가용성을 유지한다.
  2. 대상그룹에 대한 Keepalive을 통해 주기적으로 Health Check 한다.
  3. 보안 그룹을 적용할 수 있다.(NLB는 불가능)
  4. 실시간 성능모니터링이 가능하다.

 

출처 : 따라하며 배우는 AWS 네트워크 입문

'AWS > 이론' 카테고리의 다른 글

CloudFront (CDN)  (0) 2022.11.13
Route 53  (0) 2022.11.13
AWS의 인터넷 연결  (0) 2022.11.13
VPC 엔드포인트  (0) 2022.11.13
VPC (Virtual Private Cloud)  (0) 2022.11.13