Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS Network Load Balancer(NLB)란? 실습

seongduck 2023. 1. 4. 01:51

NLB 특징은?


  • TCP, UDP, TLS 요청을 로드 벨런싱 해야 하는 경우 사용
  • 고도의 성능이 요구되거나 대기 시간이 낮아야 하는 앱에 적합
  • 게임 등의 수백만의 동시 사용자 처리에 적합 (게임회사들)
  • NLB의 경우는 고정 IP 주소 할당 가능 (ALB는 불가능)
  • 클라이언트 IP 주소를 전달이 가능하다 (Source IP Preservation) => NLB를 통해 클라이언트 IP를 가져옴
  • ALB 처럼 리스너 규칙 설정이 따로 필요 없다.
  • 리스너 프로토콜은 TCP, TCP/UDP, UDP, TLS를 사용할 수 있음
  • 데이터 전송 보안을 위한 TLS 프로토콜 사용시 SSL/TLS 인증서를 배포해야 함
  • 인증서는 ACM 사용 또는 클라이언트 인증서를 사용 가능

 

생성 실습


미리 설정한 TG - NLB 대상그룹(연결할 대상의 EC2 인스턴스가 서로 연결되어 있는)을 통해 시작해보자

 

 

 

가용영역은 역시나 모두 클릭해서 넣어준다. (모든 가용영역에 할당하기)

리스너는 다음과 같이 설정해준다.

  • 리스너이기 때문에 TCP 프로토콜을 사용
  • 80번 포트로 들어올 경우 Target Group(여기선 TG-NLB로, 근데 얘낸 각 EC2 인스턴스로 연결되어 있음)으로 보내준다.

 

그리고 생성완료를 한다!

앞서 만든 ALB와 방금 만든 NLB가 보인다.

 

NLB 확인 및 접속


이 또한 NLB의 DNS주소를 URL주소로 직접 접속해본다. 

이또한 접속 IP가 EC2 인스턴스와 같은 것을 볼 수 있다.

 

NLB는 ALB와 다르게 고정 IP (탄력적 IP)를 할당해줄 수 있다.

미리 생성한 탄력적 IP를 할당해보자

 

NLB에 고정 IP할당하기


다시 로드벨런서 생성을 눌러 [Network Load Balancer]를 클릭해서 들어간다.

 

그리고 아래 [Network Mapping]에서 원하는 가용영역을 선택한 후 IP를 할당해준다.

 

로드 밸런서와 탄력적 IP는 과금되므로 삭제해주자

대상그룹도 사용하지 않으므로 삭제해주자