Load Balancer는 여러 서버로 트래픽을 분산시키는 중간 계층입니다. 사용자는 단일 DNS 엔드포인트를 통해 접근하며, 백엔드에 몇 대의 서버가 있는지 알 필요가 없습니다.
중요한 보안 설정:
EC2 Security Group 인바운드 규칙:
- Source: Load Balancer Security Group ID
- 오직 Load Balancer에서 오는 트래픽만 허용
이 설정으로 EC2 인스턴스는 Load Balancer를 통해서만 접근 가능하게 됩니다.
Layer 7 (Application Layer)
고급 라우팅 기능:
Host-based: api.example.com → API Target Group
Path-based: /images/* → Image Server Target Group
Query-based: ?version=v2 → V2 Target Group
Header-based: User-Agent → Mobile Target Group
Layer 4 (Transport Layer)
핵심 특징:
✅ AZ당 하나의 고정 IP (Static IP)
✅ Elastic IP 할당 가능
✅ 특정 IP 화이트리스팅에 최적
✅ 극한 성능이 필요한 애플리케이션용
❌ AWS Free Tier 미포함
Target Groups:
1. EC2 인스턴스
2. Private IP 주소 (온프레미스 서버 연결 가능)
3. Application Load Balancer (NLB + ALB 조합)
Health Check 프로토콜: TCP, HTTP, HTTPS
Layer 3 (Network Layer)
기본 규칙: 모든 요청을 기본 Target Group으로 전달
조건부 라우팅 예시:
{
"Rules": [
{
"Condition": "Host Header = api.example.com",
"Action": "Forward to API Target Group"
},
{
"Condition": "Path Pattern = /admin/*",
"Action": "Forward to Admin Target Group"
}
]
}
사용 시나리오: 고정 IP + HTTP 라우팅 기능을 동시에 필요로 할 때
Internet → NLB (Static IP) → ALB (HTTP Routing) → Target Groups
장점:
| 요구사항 | 추천 Load Balancer | 이유 |
|---|---|---|
| 웹 애플리케이션 | ALB | HTTP/HTTPS 최적화 |
| 극한 성능 필요 | NLB | Layer 4, 초저지연 |
| 고정 IP 필요 | NLB | Static IP 지원 |
| 마이크로서비스 | ALB | 고급 라우팅 |
| 보안 어플라이언스 | GLB | 네트워크 분석 특화 |
| 온프레미스 연동 | NLB | Private IP 타겟 지원 |
기본 설정:
Path: /health (단순 / 보다 권장)
Port: 80 또는 애플리케이션 포트
Protocol: HTTP/HTTPS
실무 팁: /health 엔드포인트에서 DB 연결 상태, 외부 API 연결 등을 포함한 종합적인 상태 체크를 구현하는 것이 좋습니다.
작성일: 2026-01-28