AWS

AWS NLB(Network Load Balancer) 완벽 가이드 – 고성능 TCP/UDP 로드 밸런싱

make-min 2025. 2. 23. 16:34
반응형

네트워크 로드 밸런서는 L4 로드 밸런서로서 TCP와 UDP 트래픽을 다룰 수 있습니다. 이는 HTTP를 처리하는 **L7(ALB)**보다 하위 계층이며, 더 빠른 성능을 제공합니다.

📌 NLB와 ALB의 차이점

특징NLB (Network Load Balancer)ALB (Application Load Balancer)

계층 L4 (Transport Layer) L7 (Application Layer)
프로토콜 TCP, UDP HTTP, HTTPS
지연 시간 약 100ms (더 낮음) 약 400ms (더 높음)
처리량 매우 높음 (수백만 RPS) 상대적으로 낮음
상태 확인 TCP, HTTP, HTTPS 지원 HTTP, HTTPS 지원
고정 IP 지원 ✅ 가능 ❌ 불가능
로드 밸런싱 방식 라운드 로빈, 최저 지연 시간 기반 경로 및 호스트 기반 라우팅

🔍 NLB의 주요 특성

  • 고성능: 초당 수백만 개의 요청을 처리할 수 있음.
  • 낮은 지연 시간: ALB보다 빠른 응답 속도 제공 (100ms).
  • 고정 IP 제공: 각 AZ(가용 영역)별 하나의 고정 IP 할당 가능.
  • 탄력적 IP(Elastic IP) 지원: 특정한 IP로 액세스 가능하도록 설정 가능.
  • ALB와 조합 사용 가능: HTTP 트래픽을 ALB로 처리하면서, NLB를 앞단에서 사용해 고정 IP 제공.

🛠️ NLB의 작동 방식

1️⃣ 사용자가 고정 IP 또는 DNS를 통해 NLB에 요청을 보냄.
2️⃣ NLB는 트래픽을 대상 그룹(Target Group) 내 인스턴스 또는 IP로 분배.
3️⃣ TCP/UDP 트래픽을 그대로 전달하며, 애플리케이션 수준에서 패킷을 변경하지 않음.
4️⃣ 인스턴스가 응답하면 NLB를 통해 클라이언트로 전송됨.

🖥️ 대상 그룹의 유형

  • EC2 인스턴스: NLB가 TCP/UDP 트래픽을 EC2로 전달.
  • IP 주소: 하드코딩된 프라이빗 IP 등록 가능 (온프레미스 서버 포함).
  • ALB 앞단 사용 가능: NLB를 활용하여 ALB에 고정 IP 제공.

📌 NLB 상태 확인 (Health Check)

NLB는 대상의 상태를 주기적으로 확인합니다.

  • TCP, HTTP, HTTPS 프로토콜 지원
  • 대상이 응답하지 않으면 해당 인스턴스로 트래픽을 보내지 않음
  • 예제 설정: TCP (포트 80) 상태 확인

⚙️ 실습: NLB 생성 및 설정

1️⃣ Network Load Balancer 생성

이름: DemoNLB
인터넷 연결(Internet-facing)IPv4 선택
VPC 및 서브넷 설정 (모든 가용 영역 포함)
고정 IP 또는 탄력적 IP 사용 가능

2️⃣ 보안 그룹 설정

새로운 보안 그룹 생성 (demo-sg-nlb)
인바운드 규칙 추가:

  • TCP (포트 80) 허용
  • 모든 곳(0.0.0.0/0)에서 접근 가능
    아웃바운드 규칙 기본값 유지

3️⃣ 리스너 및 라우팅 설정

프로토콜: TCP
포트: 80
대상 그룹 생성 (demo-tg-nlb)
대상 그룹 유형: EC2 인스턴스 선택
헬스 체크 설정:

  • 프로토콜: HTTP
  • 포트: 80
  • Healthy threshold: 2
  • Timeout: 2초
  • Interval: 5초

4️⃣ 대상 인스턴스 등록

EC2 인스턴스 2개 등록
대상 그룹 demo-tg-nlb 생성 후 연결

5️⃣ 테스트 및 디버깅

브라우저에서 NLB의 DNS 이름 입력하여 확인
대상 그룹의 상태 확인 (healthy/unhealthy 여부 체크)
보안 그룹 설정 확인 및 수정 필요 시 변경


🔍 결론

  • NLB는 L4 로드 밸런서로 TCP, UDP 트래픽을 처리
  • 고정 IP 및 탄력적 IP 지원으로 특정한 IP로 접근 가능
  • ALB와 조합하여 HTTP 트래픽 관리 가능
  • 높은 성능과 낮은 지연 시간으로 초고속 트래픽 처리에 적합
  • 상태 확인을 활용하여 트래픽을 자동 분배
반응형