반응형
AWS 공식 블로그와 문서를 기반으로 각 로드밸런서의 선택 기준을 상세히 분석해보았습니다.
1. Application Load Balancer (ALB) 선택 기준
1-1. 애플리케이션 트래픽 특성
- HTTP/HTTPS 웹 애플리케이션
- 마이크로서비스 아키텍처
- 컨테이너 기반 애플리케이션
- WebSocket 애플리케이션
1-2. 고급 라우팅 요구사항
- URL 경로 기반 라우팅
- 호스트 기반 라우팅
- Query 문자열/헤더 기반 라우팅
- AWS Lambda 함수를 타겟으로 지정 가능
1-3. 보안 요구사항
- HTTPS 설정
- 사용자 인증 통합
- WAF(Web Application Firewall) 통합
1-4. 모니터링 및 로깅
- 상세한 액세스 로그
- CloudWatch 메트릭스 통합
- X-Forwarded-For 헤더를 통한 클라이언트 IP 추적
2. Network Load Balancer (NLB) 선택 기준
2-1. 성능 요구사항
- 초당 수백만 개의 요청 처리 필요
- 매우 낮은 지연 시간 요구 (휘발성 게임 서버, 실시간 통신)
- 갑작스러운 트래픽 스파이크 처리 필요
- 장기 실행 연결 처리 (TCP/UDP)
2-2. 네트워크 요구사항
- TCP/UDP 프로토콜 지원 필요
- 고정 IP 주소 필요
- Elastic IP 지원 필요
- PrivateLink 통합 필요
- 클라이언트 IP 보존 필수
2-3. 특수한 사용 사례
- IoT 디바이스 연결 (MQTT)
- 게임 서버 (UDP)
- 음성/영상 스트리밍
- 금융 거래 시스템
2-4. 인프라 특성
- 리전간 페일오버 필요
- 정적 IP를 통한 DNS 관리 필요
- VPC 엔드포인트 서비스 구성
3. 주요 성능 특성 비교
ALB | NLB | |
지연 시간 | 밀리초 단위 | 마이크로초 단위 |
처리량 | 초당 수만 개의 요청 | 초당 수백만 개의 요청 |
연결 유지 | WebSocket 지원 | TCP/UDP 장기 연결 |
프로토콜 | HTTP/HTTPS/gRPC | TCP/UDP/TLS |
4. 실제 사용 시 고려사항
4-1. 보안 그룹 설정
- ALB: HTTP/HTTPS 트래픽만 허용
- NLB: TCP/UDP 포트 허용
- 백엔드 서버: 로드밸런서의 보안그룹에서만 트래픽 허용
- 단, 보안그룹 설정은 상황에 따라 달라질 수 있음
4-2. Health Check 설정
ALB | NLB |
HTTP/HTTPS 기반 상세 헬스체크 | TCP 연결 성공 여부로만 판단 |
응답 본문 확인 가능 | 빠른 장애 감지 (10초 이내) |
고급 라우팅 규칙과 연계 가능 | 연속 실패 횟수 기반 판단 |
4-3. SSL/TLS 처리
ALB | NLB |
인증서 관리 및 SSL 종료 | TCP 패스스루로 SSL 처리 |
SNI(Server Name Indication) 지원 | 백엔드에서 SSL 종료 필요 |
보안 정책 선택 가능 | TLS 버전 제어 제한적 |
4-4. 장애 복구 및 고가용성
ALB | NLB |
교차 영역 로드밸런싱 | 영역별 고정 IP 제공 |
영역 장애 시 자동 복구 | 빠른 장애 감지 및 복구 |
세션 고정 옵션 제공 | Connection Draining 지원 |
** [Load Balancer NAT 동작 원리와 실습 가이드] - 참고
출처
https://aws.amazon.com/ko/elasticloadbalancing/
반응형
'AWS > EC2' 카테고리의 다른 글
[AWS] ELB vs NLB 완벽 비교 - Load Balancer NAT 동작 원리와 실습 가이드 (0) | 2025.02.01 |
---|