Server & Network/AWS

[AWS] 로드벨런서(Load Balancers) Listener 룰 추가 & 수정 - ALB, NLB

AustinProd 2022. 4. 14. 10:23

오늘은 AWS 로드벨런서의 리스너(Listener) 설정 방법에 대해 정리하려고 한다. 로드벨런서와 리스너란 무엇인지 간단히 알아보고, 생성된 로드벨런서에 새로운 리스너 룰을 추가하는 방법과 이를 편집하는 방법을 공유한다. 덧붙여, 본문에서는 해당 설정 방법에 대해 ALB, NLB 두 타입으로 나누어 정리하였다.

 

본문 내용은 아래와 같이 나누어 정리했다. 로드벨런서의 종류인 ALB와 NLB에 대한 내용이 궁금하다면, 다음 링크[ ALB와 NLB (https://log4day.tistory.com/54) ]의 포스트에서 확인할 수 있다.

 

  • 로드벨런서(Load Balancer)란?
  • 리스너(Listener) 란?
  • Listener 설정 경로
  • ALB 리스너 룰 추가(Add)
  • NLB 리스너 룰 추가(Add)
  • ALB 리스너 룰 편집(Edit)
  • NLB 리스너 룰 편집(Edit)

 

로드벨런서(Load Balancer)란

로드밸런서는 서버에 트래픽을 분산시키는 장치다. 부하 분산이라고 하여, 서버에 네트워크 또는 애플리케이션 트래픽이 쏠리지 않게 관리해준다. 로드벨런서는 동일한 애플리케이션이 구동되는 둘 이상의 서버를 묶어 사용자로부터 들어오는 요청을 중간에서 분산 처리한다. 쉽게 말해, 서버와 사용자 사이의 중간 다리로서 역할을 한다고 할 수 있다.

 

로드밸런서의 추가적인 기능으로 서버 상태 체크(Health Check), HTTPS(= SSL) 지원 등이 있다. 다시 말해, 연결된 서버 상태에 대한 모니터링과 HTTPS 설정이 가능하다.

 

로드벨런서(Load Balancer)

 

리스너(Listener)란

리스너(Listener)는 구성한 프로토콜(HTTP(S) 혹은 TCP_UDP) 및 포트(Port)로 서버 연결 요청을 확인하는 프로세스다. 로드벨런서를 통한 서버 접근 경로에 따라 어떤 서버로 요청을 보낼지를 설정한다. 리스너에 정의한 규칙에 따라 로드밸런서에 등록된 대상(Target Group)으로 요청을 라우팅하는 방법이 결정된다.

 

예를 들어, https://127.0.0.1:80 요청이 로드벨런서로 들어왔다면, HTTPS 프로토콜에 80 포트로 설정한 규칙이 지정하는 서버(Target Group)로 라우팅하도록 지정하는 게 리스너의 역할이라 할 수 있다.

 

HTTP(S) 혹은 TCP_UDP & 포트 번호 -> 요청이 전달될 서버(Target Group)

 

리스너에 대한 추가적인 내용은 AWS 공식 문서를 참조하면 좋다. [ 공식 문서 링크 ]

 

Listener 설정 경로

AWS 콘솔에서 로드벨런서를 관리하기 위해서는 EC2 -> Load Balancing -> Load Balancers 경로로 접근하면 된다. 해당 경로에서 로드벨런서 생성 및 기타 설정 사항이 가능하다. 아래 미지리를 참고해, 설정할 리스너(Listener) 탭을 확인하자. 기존에 생성한 로드벨런서가 없다면 Create Load Balancer 버튼을 통해 생성한다.

 

AWS 콘솔 로드벨런싱 탭

 

로드밸런서 리스너

 

ALB 리스너 룰 추가(Add)

ALB는 애플리케이션(Application Load Balancer)의 약자로 네트워크 7 계층(L7, Layer 7)에 대한 라우팅 규칙을 지원한다. 프로토콜은 HTTP와 HTTPS를 지원한다(NLB는 TCP, UDP 지원). 프로토콜(Protocal), 호스트 이름(Host Name), 주소 경로(Path 혹은 IP), 포트(Port), 쿼리 파라미터(Query String Parameter) 등 많은 옵션을 리스너 규칙에 등록할 수 있다.

 

아래 이미지는 ALB 리스너를 추가할 때 설정해야 하는 보여준다. 프로토콜과 포트를 지정하고, 로드밸런서의 라우트 액션을 지정한다. 일반적으로 Forward, Redirect를 사용하며, 라우팅 될 서버(Target Group)를 명시한다.

 

ALB 리스너 추가

 

NLB 리스너 룰 추가(Add)

NLB는 네트워크 로드벨런서(Network Load Balancer)의 약자로 네트워크 4 계층(L4, Layer 4)에 대한 라우팅을 규칙을 지원한다. TCP 및 UDP 프로토콜을 지원하며(ALB는 HTTP, HTTPS 지원), 정적 IP 주소를 라우팅 포인트로 설정한다.(단, Elastic IPs는 지원됨)

 

ALB와 형식은 비슷하지만 프로토콜과 라우팅 액션에서 차이가 있다. (라우팅은 Forward만 가능)

 

NLB 리스너 추가

 

ALB 리스너 룰 편집(Edit)

리스너 편집에서 기존 규칙에 프로토콜 및 포트의 변경, 라우팅 액션의 수정이 가능하다. 아래 이미지를 참고해서 원하는 룰에 맞춰 수정을 진행하면 된다.

 

ALB리스너 수정

 

NLB 리스너 룰 편집(Edit)

NLB 역시 ALB와 큰 틀은 같다. 본인이 원하는 규칙을 새로 입력하자.

 

NLB 리스너 수정