Scalability & High Availability
수직 스케일링 → EC2 1개의 스펙을 키운다! t2 micro → large로..
수평 스케일링 → EC2 개수를 늘리자! → ALB
고가용성: 여러개의 AZ에 EC2 놓기
Load Balancer
→ 로드밸런싱 뿐 아니라 라우팅의 기능도 제공
ALB (Application Load Balancer) — L7
- HTTP/HTTPS 트래픽 전용
- Path-based routing (
/api/* → 다른 대상), Host-based routing (api.example.com vs www.example.com)
- 대상: EC2, ECS, Lambda, IP 주소까지 가능
- 마이크로서비스/컨테이너 기반 아키텍처에 적합
- WebSocket, HTTP/2 지원
즉, "우편물의 겉봉(IP)"만 보는 게 아니라 "편지 내용(URL, 도메인)"까지 읽고 분류하는 우체국 분류 담당자에 가까워요. 그래서 하나의 ALB로 여러 마이크로서비스나 여러 도메인을 동시에 서비스할 수 있는 거예요.
**원래 라우터는 IP계층으로 트래픽 분류.
NLB (Network Load Balancer) — L4 : 라우터와 매우 유사. (IP 기반 길찾기)
- TCP/UDP/TLS 트래픽, 초저지연·초고성능(초당 수백만 요청)
- 고정 IP(Static IP) 할당 가능 — 온프레미스 방화벽 화이트리스트 등록에 유용 (시험에 자주 나옴)
- Elastic IP도 붙일 수 있음