728x90
들어가며
NLB는 AWS 로드밸런서 중 가장 빠르고 단순하다.
하지만 그 단순함 속에는 커널 레벨의 conntrack, NAT, 세션 복원이 숨어 있다.
NLB 트래픽 전체 흐름
Client
↓ (TCP SYN)
[Internet Gateway]
↓
[NLB]
├─ (L4) Port 기반 Target 선택
├─ (L3) DNAT (NLB IP → Node IP)
↓
[Target Node]
├─ (L3) DNAT (NodePort → Pod IP)
├─ (L4) conntrack 등록
↓
[Pod]
↓
응답 경로: Pod → Node → NLB → Client
conntrack의 역할
conntrack은 커널의 연결 상태 추적 테이블이다.
| 상태 | 의미 |
|---|---|
| NEW | 새로운 TCP 연결 시도 |
| ESTABLISHED | 양방향 통신 중 |
| RELATED | 기존 세션 관련 트래픽 |
| TIME_WAIT | 종료 대기 상태 |
이 테이블은 /proc/sys/net/netfilter/nf_conntrack_max 로 제한된다.
NAT 두 번 발생하는 이유
- NLB에서 DNAT
dst: NLB_IP → Target_Node_IP - Node에서 DNAT
dst: Node_IP:NodePort → Pod_IP:Port
응답 시 SNAT으로 복원되어 정확히 클라이언트로 반환된다.
주의점
- conntrack limit 도달 시 패킷 드롭 발생
- conntrack -L 명령으로 세션 수 확인
- sysctl -w net.netfilter.nf_conntrack_max=... 로 확장 가능
요약
- NLB는 L4 포트 기반으로 작동한다.
- 커널 conntrack이 NAT 복원과 세션 유지의 핵심이다.
- NAT은 최소 2회 발생한다(NLB + Node).
다음 편 예고 — ③편. ALB(Application Load Balancer) 완전 정리
728x90
'프로그래밍공부(Programming Study) > CS-네트워크(Network)' 카테고리의 다른 글
| ④편. ALB + NLB 결합 구조 3가지 패턴 (0) | 2025.10.14 |
|---|---|
| ③편. ALB(Application Load Balancer) 완전 정리 (0) | 2025.10.13 |
| ①편. AWS 네트워크와 OSI 7계층 기초 (0) | 2025.10.12 |
| Network - 라우팅(Routing) (13) | 2025.08.25 |
| TCP 혼잡 제어 핵심 정리 (10) | 2025.08.24 |
댓글