AWS DEA-C01 Domain 1 Task 3 — 데이터 파이프라인 오케스트레이션(Orchestrate Data Pipelines) 완전 정리
AWS Skill Builder 공식 강의 기반. 데이터 아키텍처 유형, 오케스트레이션 개념, Step Functions 상태 머신, AWS Glue 워크플로, Amazon MWAA(Airflow), DAG, 재시도·백오프 전략, 이벤트 기반 파이프라인, 실패 처리, 전체 서버리스 데이터 레이크 파이프라인 예시를 도식·비교표로 완전 정리합니다.
01 수명 주기에서 오케스트레이션의 위치
오케스트레이션은 수집·변환·저장·분석 단계를 연결하고 관리하는 횡단 관심사입니다.
생성
Ingestion
Storage
Transform
Serving
02 데이터 아키텍처 유형 — 시험 필수 암기
데이터 아키텍처 = 조직의 진화하는 데이터 요구 사항을 지원하는 시스템 설계. 운영 아키텍처(기능 요건) + 기술 아키텍처(수집·저장·변환·제공 방식).
(Data Warehouse)
(Data Lake)
(Data Lakehouse)
(Data Mesh)
03 오케스트레이션 핵심 개념
일부 태스크: 순차적(Sequential) 실행 필요
다른 태스크: 병렬(Parallel) 실행 가능
태스크 순서를 지정하는 것 = 워크플로(Workflow)
데이터 파이프라인을 반드시 DAG로 정의할 필요는 없음
Apache Airflow (MWAA) → 반드시 DAG로 정의 필요
Step Functions → DAG일 필요 없음 (상태 머신 구조)
매일 특정 시간에 실행. EventBridge 스케줄 사용
이벤트 기반 (Event-driven):
새 파일 업로드·데이터 변경 감지 시 자동 실행
S3 이벤트 알림, EventBridge, CloudWatch Events 사용
AWS Lambda — 이벤트 기반 트리거·경량 변환
상태·전환·오류 처리·재시도·입출력·이벤트 소스·트리거·모니터링·로깅·테스트·배포 설계
04 오케스트레이션 AWS 서비스 — 언제 무엇을 선택하는가
| 서비스 | 풀네임 | 주요 특징 | 선택 기준 |
|---|---|---|---|
| AWS Step Functions | AWS Step Functions | 서버리스 오케스트레이션. 시각적 설계 도구(드래그앤드롭). 로우코드 접근. Amazon States Language(JSON) | 복잡한 환경 여러 AWS 서비스 연결, 에러 처리·재시도, 상태 머신 |
| AWS Glue 워크플로 | AWS Glue Workflows | Glue 구성 요소(크롤러·ETL 작업)만 사용하는 파이프라인 전용. 워크플로 그래프에 트리거 추가·정의 | Glue 전용 파이프라인 크롤러 → ETL → 크롤러 순서 구성 |
| Amazon MWAA | Amazon Managed Workflows for Apache Airflow | 완전관리형 Apache Airflow. Python으로 DAG 정의. Glue·Lambda·EMR 태스크 스케줄링 가능 | 복잡한 의존성 기존 Airflow 코드 재사용, Python DAG 필요 |
| AWS Data Pipeline | AWS Data Pipeline | 지정된 간격으로 AWS ↔ 온프레미스 데이터 소스 간 ETL. EC2·ECR·온프레미스 컴퓨팅 리소스 사용 가능. JDBC 데이터 스토어 읽기/쓰기 가능 | 덜 복잡한 환경 단순 주기적 이동, 온프레미스 JDBC 연결 |
05 Step Functions — 상태 머신으로 Spark 작업 오케스트레이션
여러 Spark 작업을 특정 순서로 실행하면서 별도의 애플리케이션 유지 없이 Amazon EMR과 통합하는 예시
-
1입력 파일 경로를 전달하여 Step Functions 상태 머신 트리거EventBridge 스케줄(일정 기반) 또는 S3 이벤트(이벤트 기반)로 시작. 또는 Step Functions API 직접 호출
-
2첫 번째 상태 → Lambda 함수 시작상태 머신의 첫 번째 단계가 AWS Lambda 함수를 호출
-
3Lambda → Amazon EMR의 Spark에 작업 제출Lambda가 Amazon EMR에서 실행 중인 Spark와 상호 작용하여 Spark 작업 제출
-
4상태 머신이 몇 초 대기 후 Spark 작업 상태 확인Wait 상태 → 폴링(Polling) 방식으로 작업 완료 여부 확인
-
5작업 상태에 따라 성공 또는 실패 상태로 분기Choice 상태 사용. 성공 → 다음 단계 진행 / 실패 → 오류 처리 단계로 이동
-
6작업 완료 대기 → 최종 상태 업데이트작업이 완료될 때까지 Wait 상태 유지. 완료되면 상태 머신 최종 상태(성공/실패)로 업데이트
이벤트
트리거
상태 머신 시작
선택(Choice)
(Lambda 통해)
Lambda → SNS 알림
06 AWS Glue 워크플로 — Glue 전용 파이프라인 오케스트레이션
데이터 파이프라인이 AWS Glue 구성 요소만 사용하는 경우 Glue 워크플로가 훌륭한 선택. 워크플로 그래프에 트리거 추가·이벤트와 작업 정의.
📋 기본 Glue 워크플로 예시 (CSV → Parquet)
수집
새 파티션 추가
CSV→Parquet 변환
Parquet 카탈로그 추가
📋 병렬 작업 실행 예시
Parquet 변환
→ Amazon DynamoDB 테이블에 기록
→ 보강된 데이터셋 생성
07 Amazon MWAA — 완전관리형 Apache Airflow
Python으로 DAG(Directed Acyclic Graph) 정의
DAG = 파이프라인의 태스크 + 태스크 간 종속성 정의
스케줄 가능 태스크:
Glue ETL 작업 / Lambda 함수 / EMR Spark 작업 / 기타 사용자 정의 태스크
AWS 네이티브 서비스 연결, 시각적 워크플로, 코드 최소화, 상태 머신
MWAA 선택 시:
기존 Airflow Python DAG 코드 재사용, 복잡한 태스크 의존성·스케줄링, 커뮤니티 오퍼레이터 사용
Glue 크롤러 실행
(모든 리전 카탈로그화)
Athena 쿼리 실행
08 파이프라인 실패 유형 — 하드 실패 vs 소프트 실패
| 실패 원인 | 유형 | 설명 | 복구 방법 |
|---|---|---|---|
| 데이터 품질 문제 | 하드 실패 | CSV 수신 파이프라인에 JSON 형식 파일이 들어온 경우. 처리 방법 모름 | 데이터 품질 문제 해결 전까지 복구 불가. 데이터 검증 게이트 필요 |
| 코드 오류 | 하드 실패 | 작업 업데이트 중 로직·구문 오류 발생. 배포 전 테스트로도 잡지 못하는 경우 | 코드 수정 후 재배포. 단위 테스트·통합 테스트 강화가 모범 사례 |
| 엔드포인트 오류 — 일시적 | 소프트 실패 | 일시적 네트워크 오류로 연결 실패 | 재시도(Retry)로 해결 가능 |
| 엔드포인트 오류 — 권한 | 하드 실패 | 작업이 필요한 IAM 권한으로 구성되지 않은 경우 | IAM 정책 수정 후 재시도. 자동 재시도로 해결 불가 |
| 종속성 오류 | 하드/소프트 | 파이프라인 내부 또는 파이프라인 간 복잡한 종속성. 선행 작업 미완료·실패 | DAG/상태 머신으로 종속성 명확히 정의. 체크포인트 메커니즘 구성 |
09 재시도 전략 — 백오프 비율(Backoff Rate)
Step Functions·Apache Airflow(MWAA) 모두 재시도 횟수·재시도 간격·백오프 비율 지정 가능
재시도마다 지연 시간이 배율만큼 증가
10 이벤트 기반 파이프라인 — 매니페스트 파일 패턴
소용량 파일을 배치로 처리해 단일 Parquet 파일로 변환하는 파이프라인. S3 이벤트 알림으로 트리거.
S3 업로드
manifest.* 파일 기록
"manifest"로 시작하는
파일 감지 시 트리거
② 나열된 파일 존재 확인
→ 단일 Parquet 변환
11 전체 서버리스 데이터 레이크 파이프라인 예시
Amazon S3를 기본 데이터 스토어로 사용하는 서버리스 데이터 레이크 전체 흐름
① 다양한 수집 방법 → S3 원시 영역(Raw Zone)
스트리밍 데이터
관계형 DB
온프레미스 NFS
(원시 영역)
② 데이터 카탈로그화 (자동화)
(S3 이벤트로 호출)
스키마 카탈로그화
크롤러 완료 감지
호출
③ ETL 처리 → S3 처리된 영역(Processed Zone)
Parquet 변환 + 파티셔닝
(처리된 영역)
④ 모니터링 & 알림
완료 이벤트 감지
이메일 알림 발송
12 일반 데이터 분석 파이프라인 단계 순서
-
1수집 & 조정 (Ingest & Coordinate)적절한 도구가 데이터를 수집하고 조정. 오케스트레이션이 이 단계부터 시작됨
-
2영구 저장 (Persistent Storage)데이터가 영구적 방식으로 저장. S3, Redshift, DynamoDB 등
-
3변환·처리·분석데이터 처리·분석 솔루션이 스토리지에서 데이터를 가져와 작업 수행 후 새로운 위치에 저장. 필요 시 다른 도구 또는 같은 도구가 반복적으로 처리
-
4시각화 & 제공 (Visualize & Serve)비즈니스 사용자가 데이터를 활용할 수 있도록 시각화. QuickSight·Athena·Redshift로 인사이트 확보 → 비즈니스 결정에 활용
13 성능·가용성·확장성·복원력·내결함성 모범 사례
- 분산 처리: Spark·EMR·Glue로 병렬 처리
- 자동 크기 조정: 최적 성능·비용 효율
- 데이터 파티셔닝: 여러 리소스에 분산
- 내결함성 스토리지: Amazon S3, Amazon EFS
- 백업 전략: Amazon S3, AWS Backup으로 데이터 보호
- 재해 복구 계획 구현
- CloudWatch: 파이프라인 상태·성능 모니터링
- 경보·알림: 문제 적극적 탐지·대응
- Amazon SNS: 이메일·SMS 알림 발송
- Step Functions·Glue 워크플로: 오류 처리·재시도 구현
- 데이터 검증·품질 검사 자동화
- CI/CD: 변경 사항 효율적 배포
- 파이프라인 단계를 단위로 격리 (문제 해결·유지보수 용이)
- Lambda·Glue·컨테이너로 구성 요소 캡슐화
- 자동화된 테스트: 단위·통합·엔드투엔드
- 버전 제어 및 배포 프로세스 포함
- AWS CodePipeline·CodeBuild로 CI/CD
14 Domain 1 Task 3 오케스트레이션 전체 AWS 서비스
'Stack > AWS' 카테고리의 다른 글
| [AWS DEA] 실생활 비유로 전체 그림 잡기 (0) | 2026.03.18 |
|---|---|
| [AWS DEA] 문제로 공부하기 20 - OpenSearch (0) | 2026.03.16 |
| [AWS DEA] Domain 1 데이터 변환 및 처리 완전 정리 (1) | 2026.03.16 |
| [AWS DEA] Domain 1 데이터 수집(Data Ingestion) 완전 정리 (0) | 2026.03.15 |
| [AWS DEA] Data Engineering Fundamentals (with AWS Toolkit) (0) | 2026.03.15 |