ALB란? (Application Load Balancer)
ALB는 AWS에서 제공하는 L7(Application Layer) 로드 밸런서로,
HTTP/HTTPS 트래픽을 여러 대상(Target)으로 분산시켜 가용성과 확장성을 높여주는 서비스다.
1) ALB가 왜 나왔는가 (배경)
단일 서버 구조의 문제:
- 트래픽 증가 → 서버 과부하
- 서버 장애 → 서비스 전체 다운
- 배포 중 장애 → 사용자 영향
ALB는 이런 문제를 해결하기 위해:
- 트래픽 분산
- 서버 장애 자동 감지
- 서버 증설/축소 자동 연계
를 목적으로 만들어졌다.
2) ALB 한 줄 정의
ALB는 HTTP/HTTPS 요청을 분석해 여러 백엔드 서버로 분산하는 애플리케이션 계층(L7) 로드 밸런서이다.
3) ALB의 핵심 구성 요소
(1) Listener
- ALB가 수신하는 포트
- 보통:
- 80 (HTTP)
- 443 (HTTPS)
(2) Listener Rule
- 요청을 어떻게 분기할지 정의
- 기준:
- URL Path (/api, /admin)
- Host (api.example.com)
(3) Target Group
- 트래픽을 전달할 대상 묶음
- 대상 타입:
- EC2
- IP
- Lambda
(4) Health Check
- 대상 서버 상태 확인
- 정상(Target)만 트래픽 전달
4) ALB의 동작 흐름
[Client]
↓ 443
[Route 53]
↓
[ALB Listener]
↓
[Target Group]
↓
[EC2 #1] [EC2 #2]
- 클라이언트 요청 수신
- Listener Rule 확인
- 정상 상태 Target으로만 전달
5) ALB의 주요 기능 (실무 핵심)
✅ L7 기반 라우팅
- 경로 기반 라우팅
- 도메인 기반 라우팅
✅ SSL 종료(SSL Termination)
- 인증서(ALB에 설치)
- 백엔드는 HTTP로 통신 가능
✅ Auto Scaling 연계
- EC2 증설/축소 시 자동 Target 등록/해제
✅ 무중단 배포
- 서버 일부만 교체하며 배포 가능
6) ALB vs NLB vs CLB (비교)
| 구분 | ALB | NLB | CLB |
| 계층 | L7 | L4 | L4/L7 |
| 프로토콜 | HTTP/HTTPS | TCP/UDP | HTTP/TCP |
| 경로 라우팅 | ⭕ | ❌ | ❌ |
| 지연 | 보통 | 매우 낮음 | 보통 |
일반 웹 서비스 → ALB가 정답
7) ALB 보안 구조
(1) Security Group
- ALB 앞단에서 트래픽 필터링
- 보통 80/443만 오픈
(2) 백엔드 서버 보호
- EC2는 ALB SG만 허용
- 외부 직접 접근 차단
8) 실무 아키텍처 예시
[User]
↓
[Route 53]
↓
[ALB]
↓
[EC2 (WAS) x N]
↓
[RDS]
- ALB는 Public Subnet
- EC2는 Private Subnet
- RDS는 Private Subnet
9) ALB의 장점 / 단점
장점
- 고가용성 (Multi-AZ)
- 유연한 트래픽 제어
- 서버 확장 자동화
단점
- TCP 레벨 제어 불가
- 고정 IP 제공 ❌ (→ Route 53 + ALIAS로 해결)
10) 언제 ALB를 써야 하나
ALB를 써야 하는 경우
- 웹/API 서버
- 무중단 배포 필요
- Auto Scaling 구성
ALB를 안 써도 되는 경우
- 단일 내부 서비스
- TCP 기반 서비스 (→ NLB)
'Infra&Cloud > AWS' 카테고리의 다른 글
| AWS-S3(Amazon Simple Storage Service) (0) | 2026.02.08 |
|---|---|
| AWS-IAM(Identity and Access Management) (0) | 2026.02.08 |
| AWS-RDS(Relational Database Service) (0) | 2026.02.08 |
| AWS-SG(Security Group) (0) | 2026.02.08 |
| AWS-NACL(Network Access Control List) (0) | 2026.02.08 |