본문 바로가기

Stack/AWS

[AWS DEA] 실무에서 경험했던 데이터 플랫폼 스택, AWS와 매핑하기

반응형

 

실무에서 경험했던 데이터 플랫폼 스택, AWS로 치환하면?

AWS DEA(Data Engineer Associate) 시험을 준비하면서 느낀 건, AWS 서비스 이름이 너무 많다는 것이었습니다. Kinesis, Glue, Athena, EMR, MWAA, Lake Formation... 처음 보면 뭐가 뭔지 전혀 감이 안 잡혔습니다.

그런데 생각해보니 24년도에 능력자 동료들을 통해서 경험했던 온프렘 데이터 플랫폼이 있었습니다. Apache Airflow로 파이프라인을 돌리고, Spark로 대규모 ETL을 처리하고, Iceberg 기반 Bronze/Silver/Gold 레이크하우스를 구성했고, Trino로 쿼리하고, Doris를 DW로 썼던 그 시스템... DataHub로 메타데이터 관리하고, MLflow로 모델 실험 추적하고, Kubernetes + Istio + Grafana로 인프라를 운영했었습니다.

이걸 AWS 서비스와 1:1로 매핑해보니까 훨씬 빠르게 이해할 수 있었습니다.

핵심 매핑 요약

Apache Airflow → Amazon MWAA (관리형 Airflow, DAG 코드 그대로 사용). Spark ETL 대규모 → Amazon EMR (관리형 Spark 클러스터). Spark ETL 단순 → AWS Glue (서버리스 ETL, 클러스터 관리 불필요). Trino 분산 SQL 쿼리 → Amazon Athena (Presto/Trino 기반, S3 직접 쿼리). Apache Doris OLAP DW → Amazon Redshift (컬럼형 MPP 데이터 웨어하우스). Iceberg Bronze/Silver/Gold → S3 Raw/Cleansed/Curated Zone + Glue Data Catalog. DataHub 메타데이터 카탈로그 → Glue Data Catalog + Lake Formation. MLflow 모델 관리 → Amazon SageMaker. Milvus 벡터 DB → Amazon OpenSearch k-NN. Elasticsearch → Amazon OpenSearch. Superset / QlikSense → Amazon QuickSight. Kubernetes → Amazon EKS. Harbor 이미지 레지스트리 → Amazon ECR. Istio 서비스 메시 → AWS App Mesh. Grafana + Prometheus → Amazon CloudWatch. Keycloak SSO → AWS IAM + Amazon Cognito. Qumulo 분산 스토리지 → Amazon S3.

시험 문제 풀 때 연상법

Trino 쓰던 자리가 보이면 → Athena (Trino/Presto 기반으로 만든 서비스). Airflow DAG 그대로 가져간다 → MWAA. Doris / OLAP DW 자리 → Redshift. Spark 클러스터 직접 관리 필요 → EMR / 서버리스면 → Glue. Iceberg Bronze→Silver→Gold = S3 Raw→Cleansed→Curated + Glue Catalog. Kafka 코드 그대로 → MSK / AWS 네이티브 새로 만들면 → Kinesis. DataHub 카탈로그+권한 → Glue Catalog + Lake Formation. Keycloak SSO 자리 → Cognito(앱 사용자) + IAM(AWS 리소스 권한).

아래에 섹션별로 상세 매핑을 도식으로 정리했습니다.

 
AWS DEA 시험 준비 노트

경험한 데이터 플랫폼
AWS로 치환하면?

24년도 경험했던 온프렘 데이터 플랫폼 스택을 AWS 서비스와 1:1로 매핑한 개인 레퍼런스

Spark · Airflow · Iceberg Trino · Doris · DataHub MLflow · Istio · Kubernetes

24년도에 재직하던 곳에서 온프렘 기반 데이터 플랫폼 에코시스템을 기획 및 구축에 참여했었다. Spark, Airflow, Iceberg, Trino, Doris, DataHub, MLflow... 나름 현대적인 오픈소스 스택이었는데, AWS 강의를 들으니 서비스 이름이 너무 많아서 뭐가 뭔지 혼란스럽다.

그래서 정리했다. 내가 써본 도구 → AWS에서 같은 역할을 하는 서비스. 이렇게 매핑하니까 훨씬 빨리 감이 잡힌다.

🔄
파이프라인 / 오케스트레이션
4 mappings
내 스택 (온프렘)AWS 동급 서비스
🌪️
Apache Airflow
워크플로우 오케스트레이션 · Python DAG
파이프라인 스케줄링, DAG 기반 의존성 관리
☁️
Amazon MWAA
Managed Workflows for Apache Airflow
DAG 코드 그대로 사용. 인프라 관리만 AWS가 담당
⚙️
Argo Workflows
K8s 기반 워크플로우 · CD 파이프라인
컨테이너 단위 DAG, GitOps CD
📋
AWS Step Functions
State Machine · 워크플로우 오케스트레이션
AWS 서비스들을 시각적 State Machine으로 연결. 에러 재시도 내장
Spark Streaming
실시간 데이터 수집 · 크롤러 서버
공공/사외/계열사 데이터 실시간 수집
🌊
Kinesis Data Streams
실시간 스트림 수집 · 샤드 기반
샤드 = Kafka 파티션. 실시간 수집 후 소비자가 직접 처리
🔗
Airflow + API 수집 DAG
배치 API 수집 · 스케줄 기반
외부 API → 내부 저장소 주기적 적재
🔥
MWAA + Kinesis Firehose
배치 스케줄 + 자동 S3 전달
Airflow로 트리거, Firehose가 S3로 자동 버퍼링 전달
⚙️
데이터 프로세싱 / ETL
4 mappings
내 스택 (온프렘)AWS 동급 서비스
Apache Spark (대규모)
대규모 분산 배치 처리 · 클러스터 직접 관리
수백GB~TB 단위 변환, 클러스터 튜닝 필요
🐘
Amazon EMR
관리형 Spark/Hadoop 클러스터
Spark 클러스터를 AWS가 띄워줌. Spot Instance로 비용 절감 가능
Apache Spark (간단한 ETL)
Bronze → Silver 변환 · 비교적 단순한 작업
스키마 변환, 포맷 변환, 간단한 집계
🦎
AWS Glue
서버리스 ETL · 자동 스케일링
서버리스 Spark. 클러스터 관리 불필요. Crawler로 스키마 자동 감지
🔍
Trino
분산 SQL 쿼리 엔진 · 다중 소스 연합 쿼리
Iceberg, Hive, RDBMS 등 여러 소스를 SQL로 통합 쿼리
🔍
Amazon Athena
서버리스 S3 쿼리 · Presto/Trino 기반
Trino에서 파생됨. S3 데이터를 SQL로 직접 쿼리. 스캔량만큼 과금
🏪
Apache Doris
실시간 OLAP · MPP 컬럼형 DW
Gold Zone 서빙, BI 쿼리 가속, 실시간 집계
🏪
Amazon Redshift
컬럼형 데이터 웨어하우스 · MPP
Doris 포지션과 동일. Spectrum으로 S3 직접 쿼리도 가능
🗄️
스토리지 / 레이크하우스 (Bronze → Silver → Gold)
5 mappings
내 스택 (온프렘)AWS 동급 서비스
💾
Qumulo
고성능 분산 스토리지 · 클러스터 기반
원본 및 처리 데이터의 물리 저장소
🪣
Amazon S3
오브젝트 스토리지 · 무제한 용량
AWS 데이터 레이크의 핵심. 수명주기 정책으로 Glacier 자동 이전
🥉
Bronze Zone (Iceberg)
원천 데이터 그대로 적재 · Raw Layer
수집 즉시 원본 보존. 스키마 강제 없음
🪣
S3 Raw Zone
원본 적재 · 포맷 그대로
JSON, CSV 등 원본 그대로. Glue Crawler로 스키마 자동 감지
🥈
Silver Zone (Iceberg)
정제·변환된 데이터 · Cleansed Layer
Spark ETL → Parquet/ORC 변환, 품질 검증 완료
🪣
S3 Cleansed Zone
Glue ETL 후 Parquet 저장
Parquet + 파티셔닝으로 Athena 쿼리 비용 대폭 절감
🥇
Gold Zone (Iceberg)
BI/분석용 최종 데이터 · 서빙 레이어
Doris/Trino로 서빙, BI 도구 연결
🏪
S3 Curated Zone / Redshift
Athena 직접 쿼리 또는 Redshift 적재
복잡한 BI는 Redshift, 임시 분석은 Athena로 역할 분리
🗂️
DataHub
메타데이터 관리 · 데이터 카탈로그 · 계보
테이블 정의, 데이터 계보, 태그 관리, 검색
📚
Glue Data Catalog + Lake Formation
메타데이터 저장소 + 거버넌스 통합
Glue Catalog = Hive Metastore 역할. Lake Formation = 컬럼 단위 권한 관리
🤖
AI 서비스 / ML 플랫폼
4 mappings
내 스택 (온프렘)AWS 동급 서비스
🧪
MLflow
ML 실험 추적 · 모델 레지스트리
실험 파라미터/메트릭 기록, 모델 버전 관리
🧠
Amazon SageMaker
ML 통합 플랫폼 · 실험·학습·배포 일체
MLflow + Kserve + Jupyter 역할 통합. 실험 추적, 모델 레지스트리, 엔드포인트 배포
🚀
Kserve + Triton Inference Server
모델 서빙 · API 엔드포인트
K8s 기반 모델 배포, GPU 추론 가속
🚀
SageMaker Inference
모델 엔드포인트 관리 · 실시간/배치 추론
실시간 엔드포인트, 배치 변환, A/B 테스트 지원
🔮
Milvus
벡터 DB · 임베딩 유사도 검색
RAG, 추천 시스템, 시맨틱 검색용 벡터 저장·검색
🔎
Amazon OpenSearch (k-NN)
벡터 검색 · k-NN 인덱스 지원
AWS 전용 벡터 DB는 없음. OpenSearch k-NN 플러그인으로 대체
📓
Jupyter Hub
팀 단위 노트북 환경 · 탐색적 분석
분석가들의 EDA 환경
🖥️
SageMaker Studio
통합 ML IDE · 팀 노트북 환경
JupyterLab 기반. 실험 추적, S3 직접 연동, 팀 공유
📊
분석 / 시각화
3 mappings
내 스택 (온프렘)AWS 동급 서비스
📊
Superset / QlikSense / Power BI
Self-Service BI · 대시보드 · 시각화
분석가/경영진용 인터랙티브 대시보드
📈
Amazon QuickSight
AWS 네이티브 BI · SPICE 인메모리 캐시
SPICE = 데이터 캐싱 엔진. Redshift·Athena·S3 모두 연결 가능
🔎
Elasticsearch
검색 엔진 · 로그 분석 · 포털 검색
데이터 포털 검색, 로그 수집·분석
🔎
Amazon OpenSearch
관리형 Elasticsearch · Kibana 포함
Elasticsearch를 AWS가 포크한 것. API 호환됨
📋
DataHub (데이터 포털 UI)
데이터 탐색 UI · 계보 시각화
분석가가 데이터 찾고 이해하는 데이터 포털
🗂️
Glue Catalog + Lake Formation
메타데이터 검색 + 권한 관리
DataHub만큼 풍부한 UI는 아님. 기능적 카탈로그+거버넌스 역할
🔐
관리 / 보안 / 인프라
7 mappings
내 스택 (온프렘)AWS 동급 서비스
🐳
Kubernetes (온프렘)
컨테이너 오케스트레이션 · 직접 구축
마스터 노드부터 직접 설치·운영
🐳
Amazon EKS
관리형 Kubernetes · 마스터 노드 AWS 관리
K8s API 그대로. 마스터 노드 관리 불필요. 워커 노드만 올리면 됨
📦
Harbor
컨테이너 이미지 레지스트리 · 취약점 스캔
사내 Docker 이미지 저장·관리
📦
Amazon ECR
Elastic Container Registry · 이미지 저장소
EKS와 자연스럽게 연동. 이미지 취약점 스캔 기능 내장
🕸️
Istio
서비스 메시 · 트래픽 제어 · mTLS
서비스 간 암호화 통신, 트래픽 라우팅, 인증
🕸️
AWS App Mesh
서비스 메시 · Envoy 프록시 기반
Istio와 같은 역할. EKS 환경에서 서비스 간 통신 제어
👁️
Kiali
서비스 메시 시각화 · 트래픽 흐름 모니터링
Istio 기반 서비스 간 호출 시각화
🔭
AWS X-Ray
분산 추적 · 서비스 맵 시각화
서비스 간 요청 추적, 병목 분석. Kiali와 유사한 시각화
📈
Grafana + Prometheus
메트릭 수집 · 대시보드 · 알람
시스템 리소스 모니터링, 커스텀 알람
📊
Amazon CloudWatch (+ Managed Grafana)
AWS 통합 모니터링 · 지표·로그·알람
CloudWatch = Prometheus 역할. Managed Grafana도 별도 제공됨
🔑
Keycloak
SSO · OAuth2 / OIDC · 사용자 인증
플랫폼 사용자 로그인, 역할 기반 접근 제어
🔑
AWS IAM + Amazon Cognito
IAM: AWS 리소스 권한 / Cognito: 앱 사용자 인증
IAM = AWS 서비스 간 권한. Cognito = Keycloak처럼 사용자 SSO/OAuth
🌱
Spring Boot (Back-end)
데이터 포털 백엔드 API
데이터 포털 서비스 제공 백엔드
AWS Lambda / ECS Fargate
서버리스 함수 / 관리형 컨테이너 실행
단순 API → Lambda, 지속 실행 컨테이너 → Fargate
🔄
전체 데이터 흐름 — 내 플랫폼 → AWS 치환

// DATA FLOW · 내 플랫폼 아키텍처를 AWS로 치환

수집
Spark Streaming
Airflow DAG
Kinesis Streams
MWAA + Glue
저장
Bronze Zone
(Iceberg/Qumulo)
S3 Raw Zone
+ Glue Catalog
변환
Spark ETL
Silver Zone
AWS Glue / EMR
S3 Cleansed
적재
Gold Zone
Doris / Trino
Redshift
Athena
분석
Superset
QlikSense
QuickSight
OpenSearch
서비스
Spring Boot
DataHub 포털
ECS Fargate
Glue Catalog

// 시험 문제 풀 때 연상법

  • Trino 쓰던 자리가 보이면 → Athena (Trino/Presto 기반으로 만든 서비스)
  • Airflow DAG 그대로 가져간다 → MWAA (그냥 관리형 Airflow)
  • Doris / OLAP DW 자리 → Redshift (컬럼형 MPP DW)
  • Spark 클러스터 직접 관리 필요 → EMR / 서버리스면 → Glue
  • Iceberg Bronze→Silver→Gold = S3 Raw→Cleansed→Curated + Glue Catalog
  • Kafka 코드 그대로 쓰고 싶다 → MSK / AWS 네이티브 새로 만들면 → Kinesis
  • DataHub 카탈로그+권한 → Glue Catalog + Lake Formation
  • Keycloak SSO 자리 → Cognito (앱 사용자) + IAM (AWS 리소스 권한)

// 내 스택 기반 AWS 매핑 레퍼런스 · AWS DEA 시험 준비용 · hyeonlee.net

반응형