Home AWS DEA-C01 핵심 정리 (유지보수 중)
Post
Cancel

AWS DEA-C01 핵심 정리 (유지보수 중)

AWS Certified Data Engineer – Associate(DEA-C01) 대비 핵심 개념 정리다. 도메인을 가로지르는 주제별 요약이라 공부하면서 계속 고쳐 나갈 예정이고, 이 글이 원본이다. 인쇄용 스냅샷은 아래 PDF로 받으면 된다.

📄 DEA-C01 핵심 정리 PDF 다운로드 · 이 글의 인쇄용 export (본문이 항상 최신)

시험 도메인 비중 — ① 데이터 수집·변환 34% · ② 데이터 스토어 관리 26% · ③ 데이터 운영·지원 22% · ④ 데이터 보안·거버넌스 18%

학습용 요약본. 서비스 한도·기능은 AWS가 수시로 갱신하므로 응시 전 공식 문서·Exam Guide를 확인하세요.


1. 데이터 수집 (Ingestion)

스트리밍 수집 서비스 비교

서비스핵심 특성쓰는 상황
Kinesis Data Streams (KDS)샤드 기반. 샤드당 쓰기 1MB/s·1,000 rec/s, 읽기 2MB/s(공유) / Enhanced Fan-Out은 소비자별 2MB/s. 보존 24h~365일. 파티션 키 단위 순서 보장. 다중 소비자, 재처리 가능. On-demand 모드 존재.1초 이내 실시간, 커스텀 처리 로직, 여러 소비자, 재생(replay) 필요
Kinesis Data Firehose완전관리형 서버리스 적재. 버퍼(1~128MB / 60~900초) 후 전송. 대상: S3, Redshift, OpenSearch, Splunk, HTTP. Lambda로 변환, JSON→Parquet/ORC 변환, 동적 파티셔닝. 최소 지연 약 60초.코드 없이 S3/DW로 근실시간 적재, 포맷 변환·압축
Amazon MSK완전관리형 Apache Kafka. 파티션·컨슈머 그룹, 보존 설정 자유. MSK Connect, MSK Serverless. Glue 스키마 레지스트리 연동.이미 Kafka를 쓰거나 Kafka 생태계(커넥터)가 필요
DynamoDB Streams테이블 항목 변경 캡처(보존 24h). Lambda 트리거 또는 Kinesis Data Streams for DynamoDB.DynamoDB CDC, 변경 이벤트 기반 처리
Amazon SQS메시지 큐. 소비 후 삭제, 단일 논리 소비자. Standard(최소 1회, 순서 미보장) / FIFO(정확히 1회, 순서). DLQ.작업 분산·디커플링(스트림 분석 아님)

Kinesis Data Streams 상세

  • 처리량 초과: ProvisionedThroughputExceededException → 샤드 추가(re-sharding: split), 파티션 키를 고르게 분산, 지수 백오프 재시도.
  • 소비 지연 감지: GetRecords.IteratorAge(Milliseconds) 지표가 커지면 소비자가 뒤처짐 → 소비자 확장, EFO 사용.
  • 순서: 같은 파티션 키 → 같은 샤드 → 순서 보장. 리샤딩 시 부모/자식 샤드 순서 주의.
  • 생산자: KPL(집계·배칭), Kinesis Agent, SDK PutRecord/PutRecords. 소비자: KCL(체크포인트를 DynamoDB에 저장), Lambda(이벤트 소스 매핑), Firehose, Managed Service for Apache Flink.
  • Lambda 소비: 배치 크기·배치 윈도우·병렬화 계수(shard당 최대 10), 실패 시 bisect·DLQ(SQS/SNS)·최대 재시도 설정.
  • 암호화: 저장 시 KMS(SSE), 전송 시 HTTPS.

배치 수집 · CDC

  • AWS DMS: 동종/이기종 DB 마이그레이션 + CDC(지속 복제). Full load → CDC. 대상으로 S3·Kinesis·Redshift·OpenSearch 가능 → 데이터 레이크 CDC 피드. DMS Serverless. 복제 인스턴스 필요(서버리스 제외).
  • AWS SCT: 스키마/코드 변환(Oracle→Aurora PostgreSQL 등), 변환 난이도 평가 리포트. 대용량은 SCT data extraction agent.
  • AWS AppFlow: SaaS(Salesforce, SAP, Zendesk…) ↔ AWS 양방향, 필터·매핑·마스킹 내장, 스케줄/이벤트 트리거.
  • AWS Transfer Family: 관리형 SFTP/FTPS/FTP/AS2 → S3·EFS 적재.
  • S3 이벤트 트리거: S3 Event Notifications → SNS/SQS/Lambda/EventBridge. EventBridge 사용 시 필터·재시도·다중 타겟 유리.
  • Redshift 적재: COPY(대량 병렬), Auto-copy from S3, Streaming ingestion(Kinesis/MSK), Zero-ETL(Aurora).

2. 데이터 변환 · 처리 (Transform)

변환 서비스 선택

서비스특징 / 선택 기준
AWS Glue (Spark ETL)서버리스 Spark. 인프라 관리 없음. 크롤러·카탈로그·스케줄 통합. 소~중 규모 ETL, 카탈로그 기반 레이크에 최적. 콜드스타트(약 1분).
Amazon EMR관리형 Hadoop/Spark 클러스터. 큰 규모, 세밀한 튜닝, Hive/Presto/HBase/Flink/Hudi/Iceberg, Spot으로 비용 절감. 장기 클러스터·복잡 워크로드.
AWS Lambda경량·짧은(≤15분) 이벤트 변환. 파일 도착 시 소규모 처리, 라우팅, 간단 보강. 대용량/조인 부적합.
Amazon Redshift (ELT)데이터를 먼저 적재 후 SQL로 변환(저장 프로시저, MERGE). 정형 DW 변환, Spectrum으로 S3까지.
Glue DataBrew코드 없는 250+ 변환·정제·프로파일링. 분석가용, 재사용 레시피.
Managed Service for Apache Flink스트리밍 SQL/Java, 윈도우 집계·이상탐지. 실시간 스트림 분석.

AWS Glue 상세

  • 잡 유형: Spark(배치), Spark Streaming(Kinesis/MSK micro-batch), Python Shell(경량, pandas), Ray(분산 파이썬).
  • 워커: G.1X(4 vCPU/16GB), G.2X, G.4X, G.8X, G.025X(스트리밍 저비용). 과금 단위 DPU-시간(초당, 최소 1분). Auto Scaling, Flex(비긴급 저비용).
  • Job Bookmarks: 이미 처리한 데이터 상태 저장 → 재실행 시 신규 데이터만 처리(중복 방지). 재처리하려면 bookmark reset.
  • DynamicFrame: 스키마 유연(스키마 온 리드), ResolveChoice로 타입 충돌 해결, relationalize, toDF()로 Spark DataFrame 전환.
  • 성능: 파티션 프루닝, push-down predicate(push_down_predicate), 파티션 인덱스, 작은 파일 병합(groupFiles/groupSize), 컬럼 포맷 출력.
  • 크롤러: 데이터 스토어 스캔 → 카탈로그 테이블·파티션 생성/갱신. 내장·커스텀 classifier(Grok/JSON/XML/CSV). 스케줄. 스키마 변경 정책(갱신/무시), 중복 방지.
  • Glue Workflows: 크롤러+잡 DAG, 트리거(on-demand/scheduled/event(EventBridge)/conditional). 잡 파라미터·상태 공유.
  • Glue Data Quality: DQDL 규칙셋, 카탈로그 또는 ETL 내 실행, 추천 규칙 자동 생성, 결과 → CloudWatch/EventBridge, 품질 점수, 불량 행 격리.
  • Glue 연결(Connection): VPC 내 JDBC(RDS 등) 접근, Secrets Manager로 자격 증명.

Amazon EMR 상세

  • 노드: Primary(조정), Core(HDFS + 작업), Task(연산만, HDFS 없음 → Spot에 이상적).
  • 프로비저닝: Instance Fleets(다양한 타입·Spot 목표, 중단 대응) vs Instance Groups(단일 타입).
  • 스토리지: HDFS(로컬, 클러스터 수명과 함께 소멸=임시), EMRFS(S3를 파일시스템으로=영구, 여러 클러스터 공유). S3는 이제 강한 일관성(EMRFS consistent view 불필요).
  • 형태: Transient(작업 끝나면 종료, 비용↓) vs Long-running(상시). EMR Serverless(용량 관리 불필요), EMR on EKS.
  • Managed Scaling(부하 기반 자동 확장/축소), Spot 중단 시 재시도. 부트스트랩 액션으로 초기화.
  • 트랜잭션 레이크: Apache Hudi / Iceberg / Delta 지원(upsert, time travel, 스키마 진화).

Spark 튜닝 포인트

  • 파티션 수·셔플 파티션(spark.sql.shuffle.partitions), 브로드캐스트 조인(작은 테이블), 데이터 스큐 → salting.
  • 작은 파일 문제 → coalesce/repartition으로 출력 파일 수 조절, 컬럼 포맷+압축.
  • 캐시/persist 재사용, predicate/projection pushdown, 파티션 컬럼으로 필터.

3. 파이프라인 오케스트레이션

도구특징 / 선택 기준
AWS Step Functions상태 머신(ASL JSON). 서버리스. Standard(장기 최대 1년, 정확히 1회, 감사) vs Express(고빈도·최대 5분, 저비용, 최소 1회). 재시도·Catch·Parallel·Map(동적 병렬). Glue/EMR/ECS/Lambda/SNS 등 직접 통합. 오류 처리가 강점.
Amazon MWAA (Managed Airflow)Python DAG 코드로 복잡한 의존성·백필·센서. 풍부한 오퍼레이터, 기존 Airflow 자산 이전. 스케줄러 상시 비용.
AWS Glue WorkflowsGlue 잡·크롤러 전용 DAG. 트리거 체인. Glue만 쓰는 파이프라인에 간단.
Amazon EventBridge이벤트 버스: 규칙(패턴 매칭) → 타겟. Scheduler(cron/rate, 대규모 일정). Pipes(소스→필터→보강→타겟). 스키마 레지스트리. 서비스 간 느슨한 결합.
Amazon SNS / SQSSNS: 팬아웃 알림(이메일/HTTP/SQS/Lambda). SQS: 버퍼링·재시도·DLQ. 파이프라인 알림·디커플링.
  • 이벤트 기반: S3 도착 → EventBridge → Step Functions → Glue 잡 → 완료 이벤트 → 다음 단계.
  • 스케줄 기반: EventBridge Scheduler / Airflow cron / Glue 트리거.
  • 재시도·내결함성: 멱등성 설계, 체크포인트, DLQ, 부분 실패 격리, 알림(SNS).

4. 파일 포맷 · 압축 · 파티셔닝 (성능·비용 핵심)

포맷유형특징
Parquet컬럼형분석 표준. 높은 압축, 컬럼 프루닝, predicate pushdown, splittable. Athena/Spectrum/Spark 최적.
ORC컬럼형Hive 최적, 내장 인덱스·통계, 높은 압축.
Avro행형스키마 진화 우수, 스키마 동봉, 스트리밍/직렬화·쓰기 위주.
JSON / CSV행형(텍스트)가독성↑, 비효율(전체 스캔). CSV는 스키마·타입 없음. 원천 수집 단계에 흔함.
  • 압축: Snappy(빠름, Parquet 내부 기본, splittable) · gzip(압축률↑, 비-splittable) · bzip2(splittable, 느림) · Zstd(균형) · LZO.
  • Athena/Spectrum 비용 절감 공식 = 컬럼형(Parquet) + 파티셔닝 + 압축 + 적정 파일 크기(≈128MB~1GB). 과금은 스캔한 바이트 기준.
  • 파티셔닝: S3 프리픽스 year=2024/month=01/day=05/(Hive 스타일). 쿼리 필터가 파티션 컬럼이면 파티션 프루닝.
  • Athena Partition Projection: 파티션 메타데이터 없이 규칙으로 계산 → 파티션 폭발·크롤러 부담 해소.
  • 작은 파일 문제: 파일 수백만 개 → 오버헤드↑. 해결: compaction 잡, Firehose 버퍼 크게, Glue groupFiles, Hudi/Iceberg 컴팩션.
  • 포맷 변환: Glue 잡, Athena CTAS / INSERT INTO, Firehose 레코드 포맷 변환, EMR.

5. 데이터 스토어 선택 · S3 수명주기

요구적합 서비스
데이터 레이크 원본·스테이징Amazon S3 (+ Glue Catalog / Lake Formation)
대규모 정형 분석·DW·BIAmazon Redshift (RA3 / Serverless)
애드혹 S3 SQL 쿼리(서버리스)Amazon Athena
초저지연 키-값 / 고TPS 앱Amazon DynamoDB (+ DAX)
OLTP 관계형Amazon RDS / Aurora
실시간 스트림 버퍼Kinesis Data Streams / MSK
검색·로그 분석Amazon OpenSearch Service
인메모리 캐시ElastiCache / MemoryDB / DAX
그래프 / 시계열 / 원장Neptune / Timestream / QLDB

Amazon S3

  • 스토리지 클래스: Standard → Standard-IA / One Zone-IA(자주 안 씀) → Intelligent-Tiering(접근 패턴 자동, 모를 때 기본) → Glacier Instant / Flexible / Deep Archive(가장 저렴, 복원 수 시간).
  • Lifecycle 정책: N일 후 클래스 전환, M일 후 만료(삭제), 미완료 멀티파트 업로드 정리, 이전 버전 관리.
  • 버전 관리 + MFA Delete, Object Lock(WORM: 규정 준수/거버넌스 모드) = 보존·불변.
  • S3 Select: 객체 내부에서 SQL로 필요한 부분만 조회. Storage Lens: 사용량·비용 가시성.
  • Cross-Region Replication(CRR)/SRR: DR·레이턴시. 복제 시간 제어(RTC). 리전 제한으로 데이터 레지던시 관리.
  • 성능: prefix 분산으로 자동 확장, 강한 읽기-쓰기 일관성(2020~). 요청자 지불, 전송 가속.

DynamoDB TTL / S3 만료로 수명주기·비용 관리, Redshift ↔ S3는 COPY/UNLOAD로 이동.

6. Amazon Redshift 심화

  • 노드 타입: RA3(관리형 스토리지 = 컴퓨트·스토리지 분리, 권장) / DC2(로컬 SSD, 소규모) / Serverless(RPU 단위, 간헐 워크로드). MPP + 컬럼형 저장 + 존 맵.
  • 분산 스타일(DISTSTYLE): KEY(조인 컬럼으로 같은 노드 배치 → 큰 팩트-팩트 조인) · ALL(전 노드 복제 → 작은 디멘전) · EVEN(라운드로빈) · AUTO(기본, Redshift가 선택).
  • 정렬 키(SORTKEY): Compound(프리픽스 컬럼 순서 중요, 범위·동등 필터) / Interleaved(다중 컬럼 동등 가중, 유지비↑ 요즘 비권장). 존 맵으로 블록 스킵.
  • COPY: S3/EMR/DynamoDB/SSH에서 병렬 적재. 파일 수는 슬라이스 수의 배수로 분할, gzip/bzip2/zstd 압축, 매니페스트로 정확한 파일 지정, COMPUPDATE/STATUPDATE.
  • UNLOAD: 쿼리 결과를 S3로 병렬 내보내기(Parquet 지원, 파티션 지정 가능).
  • WLM: 쿼리 큐·메모리·동시성. Auto WLM(권장) vs Manual. SQA(짧은 쿼리 우선), Concurrency Scaling(읽기 폭주 시 임시 클러스터 자동 추가), QMR(쿼리 모니터링 규칙).
  • Spectrum: S3 외부 테이블 직접 쿼리(Glue Catalog), 스캔량 과금, 컴퓨트는 Redshift와 별개 풀.
  • Federated Query: RDS/Aurora(PostgreSQL·MySQL) 라이브 쿼리. Materialized View: 사전 계산, 자동 새로고침·자동 쿼리 재작성.
  • Data Sharing(RA3): 클러스터·계정·리전 간 복제 없이 라이브 읽기 공유. AWS Data Exchange for Redshift.
  • 유지관리: VACUUM(삭제 공간 회수·재정렬), ANALYZE(통계 갱신) — 대개 자동. 딥카피로 재구성.
  • 최신 기능: Zero-ETL(Aurora→Redshift), Streaming Ingestion(Kinesis/MSK), Auto-copy(S3), Redshift ML(SageMaker), 동적 데이터 마스킹, 행 수준 보안(RLS).
  • 보안: KMS 암호화, VPC 내 배치·강화 VPC 라우팅, IAM 인증·IAM Identity Center, 감사 로그 → S3/CloudWatch, STL/SVL/SVV 시스템 뷰.

7. Amazon DynamoDB 심화

  • 기본 키: 파티션 키(해시) 또는 파티션+정렬 키(복합). 파티션 키 카디널리티가 높아야 부하 분산.
  • 용량 모드: On-demand(트래픽 예측 불가·스파이크) vs Provisioned(+Auto Scaling, 예측 가능·비용↓). RCU=4KB 강한 일관성 읽기/초(최종=2배), WCU=1KB 쓰기/초.
  • 핫 파티션 / 스로틀링: 파티션당 약 3,000 RCU·1,000 WCU 한계. 해결: 고엔트로피 키, write sharding(키에 접미사), 시계열은 테이블/파티션 분리, adaptive capacity는 자동 완화.
  • GSI: 다른 파티션·정렬 키, 별도 용량, 최종 일관성, 테이블당 기본 20개. 언제든 추가. 프로젝션 속성 선택.
  • LSI: 같은 파티션 키·다른 정렬 키, 테이블 생성 시에만, 강한 일관성 가능, 아이템 컬렉션 10GB 제한.
  • DAX: 완전관리형 인메모리 캐시(마이크로초 읽기, read-through/write-through).
  • TTL: 만료 타임스탬프 속성으로 자동 삭제(무료, 약 48h 내). 만료 삭제도 Streams에 기록.
  • Streams → Lambda 트리거 / Kinesis Data Streams for DynamoDB(더 긴 보존·팬아웃).
  • Global Tables: 다중 리전 액티브-액티브(마지막 쓰기 우선). PITR(35일), 온디맨드 백업.
  • S3로 내보내기: PITR 기반, 읽기 용량 소비 없음 → Athena/Glue로 분석. Import from S3.
  • 모델링: 액세스 패턴 우선 설계, 단일 테이블 디자인, 오버로디드 GSI, 비정규화. 트랜잭션(TransactWrite/Read).

8. Athena · Glue Data Catalog · Lake Formation

Amazon Athena

  • 서버리스 Trino/Presto(SQL) + Spark. S3 데이터를 Glue Catalog 스키마로 쿼리. 관리 서버 없음.
  • 과금: 스캔한 데이터 TB당(약 $5). 압축·컬럼형·파티셔닝으로 절감. Athena for Spark는 DPU 기반.
  • Workgroup: 쿼리별/그룹별 데이터 스캔 한도, 비용 태그, 결과 위치·암호화 격리, CloudWatch 지표.
  • CTAS / INSERT INTO: 쿼리 결과로 새 테이블(포맷·파티션 지정) → 경량 ETL. UNLOAD로 포맷 지정 내보내기.
  • Partition Projection, Query result reuse(캐시), Prepared statements, 사용자 정의 함수(Lambda).
  • Federated Query: Lambda 커넥터로 DynamoDB·RDS·Redshift·CloudWatch·온프레미스 등 조인.
  • ACID·행 수준 업데이트가 필요하면 Apache Iceberg 테이블.

AWS Glue Data Catalog

  • 중앙 메타데이터 저장소(Hive 메타스토어 호환). Athena·EMR·Redshift Spectrum·Glue가 공유.
  • 구성: Database → Table(스키마, 위치, 포맷, SerDe, 파티션). 파티션 인덱스로 대규모 파티션 성능.
  • 크롤러로 스키마·파티션 자동 발견/갱신. 파티션 동기화: MSCK REPAIR TABLE / ALTER TABLE ADD PARTITION / 크롤러 / 파티션 프로젝션.
  • 스키마 레지스트리(Avro/JSON/Protobuf) — 스트리밍 스키마 호환성 강제.

AWS Lake Formation

  • 레이크 중앙 권한 관리: DB/테이블/컬럼·행·셀 수준 권한. IAM 위에 얹는 세분화 레이어.
  • LF-Tags(태그 기반 접근 제어): 태그로 대규모 권한 관리. Data filters(열/행 필터).
  • 교차 계정 공유, 통합 대상: Athena, Redshift Spectrum, EMR, Glue, QuickSight.
  • Blueprints(수집 워크플로 템플릿), 데이터 위치 등록·권한, 데이터 리니지(신규). Hybrid access mode.

9. 데이터 모델링 · 스키마 진화 · 리니지

  • 모델링: 정규화(OLTP) vs 차원 모델링/스타 스키마(팩트+디멘전, DW). SCD Type 1(덮어쓰기)·Type 2(이력 행 추가)·Type 3(이전 값 컬럼).
  • Redshift: 팩트=DISTKEY(조인 키)+SORTKEY(날짜), 디멘전=DISTSTYLE ALL. 서로게이트 키.
  • DynamoDB: 액세스 패턴 기반 비정규화·단일 테이블. S3 레이크: 존(raw→cleansed→curated), Parquet+파티션.
  • 스키마 진화: Avro(가장 유연), Parquet(컬럼 추가 OK), Iceberg/Hudi/Delta(스키마·파티션 진화, time travel). Glue 크롤러 스키마 변경 정책, 스키마 레지스트리 호환성 모드(BACKWARD/FORWARD/FULL).
  • 스키마 변환: AWS SCT, DMS Schema Conversion(이기종 DB 이전).
  • 데이터 리니지: SageMaker ML Lineage Tracking, DataZone, Glue(신규 리니지), DataBrew 계보 뷰.
  • 최적화: 파티셔닝·버킷팅, 압축·인코딩(Redshift 컬럼 인코딩 AZ64/ZSTD), 인덱스(파티션 인덱스, RDS 인덱스), 통계 최신화.

10. 운영 · 모니터링 · 로깅

  • Amazon CloudWatch: 지표·알람·대시보드. Logs(수집·보존), Logs Insights(쿼리 언어로 로그 분석), Metric Filter(로그→지표), Contributor Insights, EMR/Glue/Kinesis 지표.
  • AWS CloudTrail: 모든 API 호출 감사. 관리 이벤트(기본) + 데이터 이벤트(S3 객체·Lambda 실행, 별도 활성화·과금). CloudTrail Lake(SQL로 감사 쿼리, 최대 10년 보존). 조직 트레일.
  • 핵심 지표: Kinesis GetRecords.IteratorAge(소비 지연), Write/ReadProvisionedThroughputExceeded. DynamoDB ThrottledRequests·ConsumedCapacity. Redshift CPUUtilization·PercentageDiskSpaceUsed·QueueLength. Glue job DPU·실행시간.
  • Glue 잡 관측: Continuous logging, Spark UI/History Server, Job Run Insights(실패 원인·권장), 지표.
  • EMR: CloudWatch 지표, YARN·Spark History·Persistent UI, S3 로그 아카이브.
  • 로그 분석 패턴: 로그를 S3로 → Athena/Glue로 쿼리, 또는 OpenSearch로 인덱싱, 또는 CloudWatch Logs Insights. 대용량은 EMR.
  • 알림: CloudWatch 알람 → SNS. 이벤트 → EventBridge → 자동 조치(Lambda/Step Functions).
  • 성능 튜닝: 병렬성·파티션 프루닝·파일 크기·조인 전략·캐시·적정 인스턴스/워커·Spot.

11. 데이터 품질

  • 검증 차원: 완전성(결측), 유일성(중복), 유효성(형식·범위), 정확성, 일관성, 적시성(freshness), 참조 무결성.
  • AWS Glue Data Quality: DQDL로 규칙셋 작성(예: Completeness "col" > 0.95, IsUnique, ColumnValues in [...]). 카탈로그 또는 ETL 파이프라인 내 실행, 추천 규칙 자동 생성, 점수·결과 → EventBridge/CloudWatch, 불량 레코드 분리.
  • Glue DataBrew: 데이터 프로파일링(통계·분포·상관·이상치), 250+ 정제 변환, 데이터 품질 규칙, 재사용 레시피.
  • Deequ(EMR/Spark 라이브러리): 대규모 유닛 테스트식 검증, 제약·이상 탐지.
  • 파이프라인 내 게이트: 규칙 위반 시 잡 실패/격리/알림. 샘플링·스큐 점검.

12. 데이터 보안 (인증 · 인가 · 암호화)

  • IAM: 자격 증명 기반 vs 리소스 기반 정책, 역할(교차 계정·서비스), 최소 권한, 조건 키, 권한 경계, ABAC(태그 기반). AWS 관리형 vs 고객 관리형 정책.
  • 인증 방식: 암호 기반 · 인증서 기반 · 역할(임시 자격 증명, 권장). Redshift/RDS는 IAM 인증·IAM Identity Center 연동 가능.
  • Secrets Manager: 자격 증명 저장 + 자동 회전(Lambda), RDS/Redshift/DocumentDB 네이티브 회전, 교차 계정. vs SSM Parameter Store(표준은 무료, 회전 없음, SecureString은 KMS).

저장 데이터 암호화

방식설명
SSE-S3S3 관리 AES-256 키. 가장 간단(기본 활성).
SSE-KMSKMS 키 사용 → 키 정책·권한·CloudTrail 감사·회전. 고객 관리형 CMK로 세밀 제어. (Bucket Key로 KMS 요청·비용↓)
DSSE-KMS이중 계층 KMS 암호화(규제 요건).
SSE-C고객이 키 제공, AWS는 저장 안 함.
CSE클라이언트 측 암호화(업로드 전). AWS는 평문 미접근.
  • 전송 중 암호화: HTTPS/TLS 강제(S3 버킷 정책 aws:SecureTransport), Redshift SSL, JDBC SSL, VPC 내 트래픽.
  • KMS: 봉투 암호화(데이터 키), 키 정책+IAM+grant, 자동 연간 회전, 멀티 리전 키, 교차 계정 키 부여. 분석 서비스(Redshift/EMR/Glue/Kinesis/Athena 결과) 모두 KMS 통합.
  • 네트워크: VPC Gateway Endpoint(S3·DynamoDB, 무료) / Interface Endpoint(PrivateLink)(유료, 대부분 서비스), 보안 그룹·NACL, S3 Access Points(경로별 정책), 프라이빗 서브넷+NAT, Glue/EMR/Redshift를 VPC에 배치.
  • 인가: 최소 권한, RBAC/ABAC, Lake Formation 컬럼·행 권한, Redshift GRANT(사용자·그룹·역할), S3 버킷 정책·ACL 비활성(권장).

13. 데이터 거버넌스 · 프라이버시 · 감사

  • PII 탐지: Amazon Macie(S3 민감 데이터 자동 발견·ML, findings → EventBridge/Security Hub), Glue 민감 데이터 탐지(PII detection transform, 탐지·마스킹·삭제), Comprehend, Macie + Lake Formation 연계.
  • 마스킹·익명화: Redshift 동적 데이터 마스킹·RLS, Lake Formation 컬럼 권한·데이터 필터, Athena/Glue 뷰·변환, 토큰화·해싱·키 솔팅, k-익명성.
  • 데이터 주권·레지던시: 리전 제한 SCP, S3 복제 규칙 제어(허용 안 된 리전 복제 차단), KMS 리전 키, AWS Config 규칙으로 위반 감지.
  • AWS Config: 리소스 구성 이력·규칙(비준수 감지)·자동 교정(remediation). 계정 변경 추적.
  • 데이터 공유: Redshift datashare, Lake Formation 교차 계정, AWS Data Exchange, S3 Access Grants, Clean Rooms(공동 분석, 원본 비공유).
  • 보존·불변: S3 Object Lock(WORM), Glacier Vault Lock, 백업(AWS Backup), 수명주기 만료로 법적 삭제.
  • 감사 로그 중앙화: CloudTrail(조직 트레일 → 중앙 S3), CloudTrail Lake, CloudWatch Logs 교차 계정, 로그를 Athena/OpenSearch로 분석.

14. 자주 나오는 시나리오 · 암기 포인트

  • 코드 없이 스트림 → S3(포맷 변환) : Kinesis Data Firehose (+ Lambda 변환, Parquet 변환).
  • 1초 미만 실시간 + 다중 소비자 + 재처리 : Kinesis Data Streams (+ Enhanced Fan-Out).
  • 소비자가 뒤처짐 : IteratorAge 지표 확인 → 샤드/소비자 확장, EFO.
  • DB 지속 복제(CDC)를 레이크로 : DMS → S3/Kinesis. 이기종 스키마 변환 : SCT.
  • 서버리스 Spark ETL + 카탈로그 : AWS Glue. 대규모·튜닝·Spot·Hudi/Iceberg : EMR.
  • Glue 잡 재실행 시 중복 방지 : Job Bookmark.
  • S3 애드혹 SQL, 비용 통제 : Athena + Workgroup 스캔 한도. 비용↓ : Parquet+파티션+압축.
  • Redshift에서 S3 데이터 조인 : Spectrum. RDS 라이브 조인 : Federated Query. 복제 없이 클러스터 간 공유 : Data Sharing.
  • Redshift 큰 팩트-팩트 조인 : 조인 키에 DISTKEY. 작은 디멘전 : DISTSTYLE ALL. 날짜 필터 : SORTKEY.
  • Redshift 읽기 동시성 폭주 : Concurrency Scaling + Auto WLM.
  • DynamoDB 스로틀/핫키 : 고카디널리티 파티션 키 + write sharding, on-demand 모드.
  • DynamoDB 분석 : S3로 Export(용량 소비 없음) → Athena/Glue.
  • 복잡한 의존성·백필 오케스트레이션 : MWAA. 오류 처리·상태 머신·서버리스 : Step Functions. Glue 전용 : Glue Workflows.
  • 대규모 스케줄 : EventBridge Scheduler. 소스→변환→타겟 연결 : EventBridge Pipes.
  • S3 민감정보 자동 발견 : Macie. ETL 중 PII 마스킹 : Glue 민감 데이터 탐지.
  • KMS 키로 감사·회전·권한 필요 : SSE-KMS(+ Bucket Key). 자격 증명 자동 회전 : Secrets Manager.
  • S3·DynamoDB 프라이빗 접근(무료) : Gateway VPC Endpoint. 그 외 서비스 : Interface Endpoint(PrivateLink).
  • 리전 밖 복제 방지 : SCP + S3 복제 규칙 + AWS Config 규칙.
  • 데이터 품질 규칙을 파이프라인에 : Glue Data Quality(DQDL). 코드 없는 프로파일링 : DataBrew.
  • 컬럼·행 수준 접근 제어 : Lake Formation (LF-Tags / Data Filters).
  • 작은 파일 과다 : compaction / Firehose 버퍼↑ / Glue groupFiles / Iceberg 컴팩션.
This post is licensed under CC BY 4.0 by the author.

[인프런] AI 시대 전문성 갖추기

AWS SAA-C03 (합격) 2편 — 막판 오답 노트