CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
  • Week 1
    • 1.데이터 엔지니어링이란
    • 2.배치 vs 스트리밍
    • 3.AWS 데이터 서비스 조감도
    • 4.데이터 포맷과 모델링
    • 5.Week 1 종합 복습
  • Week 2
    • 1.배치 수집: S3 업로드, DataSync, Transfer Family, Snow
    • 2.Kinesis Data Streams: 샤드, 파티션 키, 처리량
    • 3.Kinesis Data Firehose: 전달 스트림과 적재
    • 4.Amazon MSK(Kafka): 토픽, 파티션, 언제 무엇
    • 5.Week 2 종합: 데이터 수집 1 복습
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← DEA-C01/Week 2/Day 1

기준: DEA-C01 시험 가이드·오류 제보

DEA-C01· AssociateWeek 2 · Day 1읽기 약 9분
핵심 정리
  • 소량·단발 → S3 CLI/SDK. 대용량은 멀티파트 업로드를 쓰고, Lifecycle AbortIncompleteMultipartUpload로 미완료 조각을 정리한다.
  • 대량·반복·검증 필요 → DataSync. 스케줄 증분 동기화 + 체크섬 무결성 검증 + 메타데이터 보존.
  • 외부 파트너가 SFTP/FTPS로 밀어넣음 → Transfer Family. 클라이언트·인증은 그대로 두고 백엔드만 S3로 바꾼다.
  • 페타바이트급·느린 회선·일회성 → Snow 패밀리. 물리 배송이라 회선을 점유하지 않는다.
  • 이 네 가지 선택지의 경계를 키워드로 구분하는 능력이 DEA-C01 수집 도메인의 기본기다.

Day 1 - 배치 수집: S3 업로드, DataSync, Transfer Family, Snow

S3는 데이터 레이크의 착륙장이다

  • 배치 수집은 "정해진 단위(파일·테이블·시간)로 모아서 한꺼번에" 가져오는 방식이다. 실시간성이 필요 없는 야간 적재, 온프레미스 마이그레이션, 대용량 일괄 전송이 여기 속한다.
  • AWS는 데이터의 양과 위치, 네트워크 상황에 따라 서로 다른 도구를 제공한다. 오늘 다룰 4가지는 S3 업로드 패턴, DataSync, Transfer Family, Snow 패밀리다.
  • 대부분의 AWS 분석 파이프라인에서 데이터가 처음 도착하는 곳은 S3다. 사실상 무제한 용량, 11 9's 내구성, 그리고 Athena·Glue·Redshift Spectrum·EMR이 모두 직접 읽을 수 있는 공통 저장소이기 때문이다.
  • 그래서 "배치 수집 = 어떻게든 S3에 파일을 안전하게 올리기"로 단순화해도 크게 틀리지 않는다.
  • 작은 파일은 단순 PutObject로 충분하다.
  • 큰 파일(수백 MB 이상)은 멀티파트 업로드(Multipart Upload) 를 써야 한다. 파일을 여러 조각으로 나눠 병렬 전송하고, 한 조각이 실패해도 그 조각만 재전송하면 되므로 대용량 전송이 빠르고 견고해진다.
# 작은 파일: 단순 업로드
aws s3 cp sales-2026-06.csv s3://my-data-lake/raw/sales/
 
# 큰 파일: CLI가 임계값(기본 8MB)을 넘으면 자동으로 멀티파트로 전환
aws s3 cp huge-dataset.parquet s3://my-data-lake/raw/events/ \
    --expected-size 5368709120
 
# 멀티파트 임계값/동시성 튜닝 (대량 전송 가속)
aws configure set s3.multipart_threshold 64MB
aws configure set s3.max_concurrent_requests 20

💡 관련 이론: 멀티파트 업로드를 시작했다가 완료(CompleteMultipartUpload)하지 않으면 업로드된 조각이 S3에 남아 보이지 않는 스토리지 비용을 발생시킨다. 이를 막기 위해 S3 Lifecycle 규칙에 AbortIncompleteMultipartUpload를 설정해 N일 후 미완료 조각을 자동 삭제하는 것이 베스트 프랙티스다. "원인 모를 S3 비용 증가" 시나리오로 출제될 수 있다.

S3에 도착하는 순간 이벤트를 발생시켜 다운스트림을 트리거할 수도 있다.

  • S3 Event Notification: 객체 생성 이벤트를 Lambda·SQS·SNS·EventBridge로 보낸다.
  • prefix/suffix 필터를 걸면 "파일이 들어오면 바로 Glue 잡 실행" 같은 이벤트 드리븐 배치가 된다.
{
  "LambdaFunctionConfigurations": [
    {
      "LambdaFunctionArn": "arn:aws:lambda:ap-northeast-2:123456789012:function:trigger-glue-job",
      "Events": ["s3:ObjectCreated:*"],
      "Filter": {
        "Key": { "FilterRules": [{ "Name": "prefix", "Value": "raw/sales/" }] }
      }
    }
  ]
}

DataSync: 온프레미스 ↔ AWS 대량 파일 전송 자동화

  • AWS DataSync는 온프레미스 NAS·파일 서버에 쌓인 수 TB의 데이터를 S3·EFS·FSx로 옮기는 작업을 자동화·가속하는 관리형 전송 서비스다.
  • 온프레미스에 에이전트(VM)를 두고, AWS와의 사이에서 데이터를 멀티스레드로 전송한다.
  • 전송 중·후에 체크섬으로 무결성을 검증한다.
  • 핵심 가치는 단발성 복사가 아니라 반복 가능한 스케줄 동기화다. 매일 밤 변경된 파일만 증분 전송하도록 예약해, 온프레미스에서 데이터 레이크로의 지속적 피드 파이프라인을 만든다.
aws datasync create-task \
    --source-location-arn arn:aws:datasync:...:location/loc-onprem-nas \
    --destination-location-arn arn:aws:datasync:...:location/loc-s3-lake \
    --options '{"VerifyMode":"POINT_IN_TIME_CONSISTENT","PreserveDeletedFiles":"PRESERVE"}' \
    --schedule '{"ScheduleExpression":"cron(0 2 * * ? *)"}'

💡 관련 이론: DataSync vs S3 단순 CLI 업로드의 구분이 시험 포인트다. 일회성 소량이면 CLI/SDK로 충분하지만, ① 대량(TB+) ② 반복 스케줄 ③ 무결성 검증 ④ 메타데이터(권한·타임스탬프) 보존이 필요하면 DataSync가 정답이다. DataSync는 네트워크 대역폭을 사용하므로 충분한 회선이 있을 때 적합하고, 회선이 부족하거나 페타바이트급이면 Snow 패밀리로 넘어간다.

Transfer Family: 기존 SFTP/FTPS 워크플로를 S3로

  • 수많은 기업·파트너 시스템은 여전히 SFTP/FTPS/FTP로 파일을 주고받는다.
  • AWS Transfer Family는 이 레거시 프로토콜을 유지하면서 저장소만 S3로 바꿔주는 관리형 게이트웨이다. 외부 파트너는 평소처럼 SFTP로 올리지만, 그 파일은 곧장 S3 버킷(또는 EFS)에 저장된다.
  • 핵심은 "파트너의 클라이언트와 인증 방식은 그대로 두고, 백엔드만 S3로 교체"한다는 점이다.
  • 기존 EDI·B2B 파일 교환을 코드 변경 없이 데이터 레이크에 연결할 수 있다.
aws transfer create-server \
    --protocols SFTP \
    --endpoint-type VPC \
    --identity-provider-type SERVICE_MANAGED \
    --domain S3

방향과 주체가 다르다.

  • DataSync: 내가 AWS로 끌어오는(pull/push) 대량 동기화
  • Transfer Family: 외부가 정해진 프로토콜로 밀어 넣는(receive) 게이트웨이

Snow 패밀리: 네트워크로는 답이 없을 때

  • 데이터가 페타바이트급이거나, 전송 회선이 느려서 인터넷으로 옮기면 몇 달이 걸린다면 물리 장비에 데이터를 담아 AWS로 배송하는 Snow 패밀리가 답이다.
서비스용량용도
Snowcone~8TB(SSD)소형·엣지·이동 환경
Snowball Edge~80TB대량 마이그레이션, 엣지 컴퓨팅
Snowmobile~100PB(사실상 단종) 초대형 데이터센터 이전
  • 장비를 받아 데이터를 채운 뒤 반송하면 AWS가 S3로 적재한다.
  • 전송 중에는 256비트 암호화로 보호된다.

"회선 vs 물리 배송"의 손익분기는 데이터양과 대역폭의 함수다. 대략 10TB를 100Mbps 회선으로 보내면 약 12일이 걸린다. 같은 데이터를 Snowball로 보내면 배송 왕복 약 1주일에 회선도 점유하지 않는다. 시험에서 "느린 회선 + 대용량 + 일회성 마이그레이션" 키워드가 보이면 거의 항상 Snow 패밀리가 정답이다. 반대로 "지속적·반복적 동기화 + 충분한 회선"이면 DataSync다.

📖 용어

  • 배치 수집 : 데이터를 파일·테이블·시간 단위로 모아 한꺼번에 가져오는 방식. 실시간이 아니어도 되는 야간 적재 같은 작업에 쓴다.
  • 데이터 레이크 : 정제 전 원본 데이터까지 그대로 모아두는 대형 저장소. AWS에서는 보통 S3가 그 역할을 한다.
  • 멀티파트 업로드 : 큰 파일을 여러 조각으로 쪼개 동시에 올리는 방식. 실패해도 그 조각만 다시 보내면 된다.
  • AbortIncompleteMultipartUpload : 완료되지 않고 남은 업로드 조각을 며칠 뒤 자동으로 지우는 S3 Lifecycle 설정. 안 걸어두면 안 보이는 요금이 쌓인다.
  • 11 9's 내구성 : 99.999999999%. 저장한 객체가 사실상 사라지지 않는다는 뜻의 S3 내구성 수치.
  • S3 Event Notification : 버킷에 객체가 생기면 Lambda·SQS·SNS·EventBridge로 알림을 보내는 기능. 파일 도착을 신호로 다음 작업을 자동 실행할 때 쓴다.
  • 증분 전송 : 전체를 다시 보내지 않고 지난번 이후 바뀐 것만 골라 보내는 방식.
  • 체크섬 : 데이터를 계산해 얻은 짧은 지문값. 보내기 전후 값을 비교해 파일이 깨지지 않았는지 확인한다.
  • SFTP/FTPS : 파일을 안전하게 주고받는 오래된 표준 프로토콜. 기업 간 파일 교환에 여전히 많이 쓰인다.
  • 온프레미스 : 클라우드가 아니라 회사가 직접 소유·운영하는 자체 서버실·장비 환경.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

온프레미스 NAS에 있는 30TB의 데이터를 매일 밤 변경분만 S3로 자동 동기화하고, 전송 무결성 검증과 파일 메타데이터 보존이 필요하다. 가장 적절한 서비스는?

문제 2

외부 파트너사들이 오랫동안 SFTP 클라이언트로 파일을 전송해 왔다. 이 워크플로를 그대로 유지하면서 수신 파일을 곧바로 S3 데이터 레이크에 저장하려 한다. 코드 변경을 최소화하는 방법은?

문제 3

100Mbps 회선만 있는 데이터센터에서 80TB의 아카이브를 일회성으로 AWS S3로 마이그레이션해야 한다. 가장 빠르고 회선을 점유하지 않는 방법은?

문제 4

S3 비용 청구서에 어떤 객체로도 보이지 않는 정체불명의 스토리지 요금이 꾸준히 발생한다. 대용량 파일 업로드 자동화 직후부터 시작됐다. 가장 가능성 높은 원인과 해결책은?

문제 5

S3 raw/sales/ 경로에 파일이 도착하는 즉시 Glue 변환 잡을 자동 실행하는 이벤트 드리븐 배치를 구성하려 한다. 가장 적절한 방법은?

이전Week 1 종합 복습Week 1 · Day 5다음 Kinesis Data Streams: 샤드, 파티션 키, 처리량Week 2 · Day 2

참고 공식 자료

  • DEA-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon S3 공식 문서(새 탭에서 열림)
  • AWS DataSync 공식 문서(새 탭에서 열림)
  • AWS Glue 공식 문서(새 탭에서 열림)
  • AWS Lambda 공식 문서(새 탭에서 열림)
  • Amazon EFS 공식 문서(새 탭에서 열림)

이 페이지

  • S3는 데이터 레이크의 착륙장이다
  • DataSync: 온프레미스 ↔ AWS 대량 파일 전송 자동화
  • Transfer Family: 기존 SFTP/FTPS 워크플로를 S3로
  • Snow 패밀리: 네트워크로는 답이 없을 때
  • 용어
  • 연습 문제