본문 바로가기
AWS

[AWS] ELB - NLB ; Network Load Balancer

by 가영리 2024. 5. 26.
728x90

NLB란?

  • OSI 7계층 중 L4 즉, 네트워크 계층에서 작동한다.
  • 리스너 구성에 지정된 포트에서 선택한 대상에 대한 TCP/UDP 연결을 열려고 시도한다.

 

 

Network Load Balancer 시작하기 - Elastic Load Balancing

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

NLB 생성하기

1. 기본 구성

2. 네트워크 매핑

트래픽을 라우팅할 VPC와 가용 영역을 선택한다.

ALB와 달리 NLB는 가용 영역마다 고정된 IPv4 주소를 할당받는다.

3. 보안 그룹 생성하기

HTTP 요청만 받을 수 있도록 인바운드 규칙을 추가한다.

방금 생성한 보안 그룹을 로드밸런서 보안 그룹으로 설정한다.

4. 리스너 및 라우팅

4.1 대상 그룹 생성하기

NLB를 사용할 것이기 때문에 프로토콜은 TCP로 설정한다.

EC2 인스턴스에서 실행되고 있는 HTTP 애플리케이션이 있기 때문에 Health check는 HTTP프로토콜을 사용한다.

대상 인스턴스를 선택하고 대상 그룹을 생성한다.

 

이제 생성한 대상 그룹을 선택한다.

5. 테스트

NLB의 DNS 주소로 접속해보자

접속이 되지 않는다.

무슨 원인인지 파악하기 위해 대상 그룹의 Health Check 상태를 확인했더니 비정상이었다.

상태 확인이 안 된다는 것은 인스턴스에 접근을 할 수 없다는 뜻인데, 아무래도 인스턴스의 보안 그룹 설정이 잘못된 것 같다.

HTTP의 요청이 들어오게 하였으나 해당 규칙은 ALB를 위한 규칙이다.

따라서 NLB로부터 HTTP 트래픽을 허용하는 규칙을 생성해야 한다.

NLB 트래픽 허용 규칙을 추가한다.

다시 돌아가 인스턴스의 상태를 확인하니 정상으로 바뀌었다.

이제 Hello World가 잘 보인다.

두 개의 인스턴스에 로드밸런이 되는 것도 확인할 수 있다.