Print
카테고리: [ Amazon Web Services ]
조회수: 1021

AWS Elastic Load Balancer(ELB)는 트래픽을 분배해주는 관리형 Load Balancer 서비스이다.


특징

  1. 자동화: AWS EC2 인스턴스 등의 대상에 대해서 트래픽을 자동으로 분배한다.
  2. 헬스체크: 등록된 대상의 상태를 모니터링하여 상태가 양호한 대상으로만 트래픽을 라우팅한다. (↔ Amazon CloudWatch와 연동)
  3. 고가용성: 각 리전에서 서비스되며, 리전 내 가용영역 단위로 분배하여 안정적이다. 
  4. 확장성: 유동적인 트래픽과 워크로드에 대응할 수 있다. (↔ Amazon EC2 Auto Scaling과 연동)

종류


종류 별 설명

(1) Application Load Balancer(ALB)

HTTP/HTTPS 어플리케이션을 L7에서 로드밸런싱하는 로드밸런서이다. 아래와 같은 특징이 있다.

Listener는 Listening Port와 Protocol, Contents 기반 Rule을 지정하는 구성요소다.

Target Group은 Listener의 판정에 따라 접근 여부가 결정되는 logical 그룹이다. (대상: EC2, ECS/EKS 컨테이너, IP 주소, Lambda)

Listener, TargetGroup, Path 기반 라우팅을 조합하면

- 80번 포트의 "/dev/" 로 접근하는 경우에는 개발용 EC2 인스턴스 그룹으로 연결되도록, 

- 80번 포트의 "/ops/", 또는 8080번 포트의 "/dev/"로 접근하는 경우에는 또 다른 인스턴스 그룹에 연결되도록 지정할 수 있다.

Target Group은 EC2 뿐 아니라, ECS, EKS등의 컨테이너 그룹, IP 주소, Lambda 등 기타 서비스도 포함할 수 있기 때문에  Host, Path 기반의 Listener Rule과 연계하면 용도에 맞도록 다양한 조합의 Load Balancer 기반 아키텍처를 구축할 수 있다.

(2) Network Load Balancer(NLB)

TCP 및 UDP 프로토콜을 활용하는 어플리케이션에 대해 L4에서 로드밸런싱한다. 아래와 같은 특징이 있다.

일반적으로 오랜 시간 연결이 유지되거나, 수많은 request에 대해서도 latency를 낮게 유지해야하는 등의 고성능을 필요로 하는 환경에서 장점을 발휘한다.  (ex. IoT, Gaming, Messaging Applications)


액세스 방법

ELB는 다음 네가지 수단을 이용하여 생성/관리할 수 있다.