패턴 갤러리
ETL 데이터 파이프라인 아키텍처
중급월 ~$100 (일 1억 이벤트 기준)
Kinesis Data StreamsLambdaS3GlueAthena
ETL 데이터 파이프라인 아키텍처
대규모 실시간 이벤트를 수집하고, 변환하여 데이터 레이크에 저장한 뒤 SQL로 분석하는 AWS 기반 ETL 패턴입니다. 별도 서버나 클러스터 없이 서버리스 서비스만으로 일 수억 건의 이벤트를 처리할 수 있습니다.
🏗️ 이 패턴을 사용하면 좋은 경우: 사용자 행동 로그 분석, IoT 센서 데이터 수집, 실시간 매출 리포트, 광고 클릭 분석
아키텍처 다이어그램
다이어그램 로딩 중...
요구사항
장단점 비교
비용 시뮬레이션
💰 월 비용 예시 (일 1억 이벤트, 이벤트당 1KB)
- Kinesis Data Streams (4 샤드): 4 × $0.015/시간 = $43
- Lambda: 30억 호출(배치) × 200ms × 128MB = $15
- S3 스토리지: 3TB/월 × $0.023/GB = $23
- Glue Crawler: 일 1회 스캔 = $3
- Athena: 일 50 쿼리 × 100MB 스캔 = $7.50
- 합계: ~$91/월
EMR Spark 클러스터라면: m5.xlarge × 3 ($350) + S3 ($23) = $373/월
💡 Athena는 쿼리당 최소 10MB 과금 — 작은 테이블도 $0.00005/쿼리. 대시보드 용도로 매우 경제적!
실전 팁
⚠️ 주의할 점:
- Kinesis 샤드당 쓰기 1MB/초, 읽기 2MB/초 — 트래픽 급증 시 샤드 스플릿 필요
- Lambda 배치 크기(Batch Size)를 조절하여 처리 효율과 지연시간 균형 맞추기
- S3 파티셔닝은 year/month/day/hour 구조가 Athena 쿼리 비용 절감의 핵심
- Athena는 스캔한 데이터량 기준 과금 — Parquet + 파티션 프루닝으로 90% 절약 가능
- Kinesis 데이터 보존 기간은 기본 24시간 — 재처리 필요 시 7일까지 확장 가능
- Glue ETL Job으로 복잡한 변환이 필요하면 Lambda 대신 Glue Spark Job 사용 고려
✏️
본인의 말로 설명해 보세요
원본 이벤트가 Athena에서 SQL로 조회 가능해지기까지의 전체 파이프라인을 설명해보세요.
💡 이벤트 → Kinesis 수집 → Lambda 변환 → S3 Parquet 저장 → Glue 카탈로그 등록 → Athena SQL 쿼리...