AWS S3 제대로 쓰고 있나요?
잡학다식의 지식공방

빅데이터 관련 자료

AWS S3 제대로 쓰고 있나요?

carpe08 2025. 5. 31. 15:33
320x100

AWS에서 데이터를 저장할 때 가장 먼저 사용하는 서비스가 S3입니다. Athena, Glue, Redshift Spectrum 등 거의 모든 분석 서비스가 S3 데이터를 기반으로 하기 때문에, S3 설계는 단순 저장이 아니라 분석 효율까지 고려해서 해야 합니다.

이 글에서는 Athena나 Glue를 쓸 때 도움이 되는 S3 설계 및 운영 팁을 정리해봤습니다.


✅ 1. 디렉터리 구조는 Hive 스타일로

Athena, Glue Crawler, Redshift Spectrum 모두 Hive 스타일 파티션(key=value) 구조를 선호합니다.

s3://your-bucket/logs/event_date=2024-01-01/region=kr/
  • 파티션 기준이 되는 컬럼명 = 디렉터리명으로 구성
  • 쿼리 조건을 파티션 필터로 활용 가능 → 비용 절감 & 성능 향상

✅ 2. 작은 파일 너무 많으면 느려진다

"작은 파일 수천 개" vs "압축된 큰 파일 몇 개" 중, 후자가 Athena에선 훨씬 효율적입니다.

  • S3에는 수백만 개의 객체를 둘 수 있지만, Athena는 파일 단위로 병렬 처리
  • INSERT, UNLOAD, CTAS 등을 통해 파일 병합 & 압축 권장

✅ 3. 포맷은 Parquet, 압축은 Snappy

텍스트(CSV, JSON)는 느리고 비쌉니다. Parquet + Snappy 조합은 가장 효율적입니다.

  • 컬럼 기반 저장 → SELECT * 지양 시 데이터 스캔량 확 줄어듦
  • Snappy는 빠른 압축/해제를 지원해 Athena와 잘 맞음

✅ 4. 버전 관리와 데이터 정합성

데이터가 자주 바뀌는 경우, 다음 중 하나로 관리하는 게 좋습니다:

  • s3://bucket/data/dt=2024-01-01/ 처럼 날짜별 폴더 구조로 구분
  • 기존 폴더를 덮어쓰기 전, backup/이나 _archive/에 이동
  • 중요한 변경은 CloudTrail로 기록 추적 가능

✅ 5. 권한은 최소 권한 원칙으로

데이터 분석용 S3 버킷은 다양한 서비스(Athena, Glue, Lambda)에서 접근하기 때문에, IAM 정책 설계가 핵심입니다.

  • 서비스별 IAM 역할 구분: 분석용, 운영용, 테스트용
  • s3:ListBucket, s3:GetObject 권한만 열어주는 것이 기본

📘 AWS 관련 추천 책

 

그림과 작동 원리로 쉽게 이해하는AWS 구조와 서비스:AWS의 전체 구조와 기술이 한눈에 들어오는

쿠팡에서 그림과 작동 원리로 쉽게 이해하는AWS 구조와 서비스:AWS의 전체 구조와 기술이 한눈에 들어오는 아마존 웹 서비스 핵심 가이드 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른

www.coupang.com

 

 

그림으로 이해하는 AWS 구조와 기술:AWS 쉽고 재미있게 시작하자! - 프로그래밍 언어 | 쿠팡

쿠팡에서 그림으로 이해하는 AWS 구조와 기술:AWS 쉽고 재미있게 시작하자! 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 프로그래밍 언어 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

 

AWS 교과서 - 학습자료/교구 | 쿠팡

쿠팡에서 AWS 교과서 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 학습자료/교구 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

 

비전공자를 위한 AWS:클라우드 입문부터 자격증 취득까지 쉽게 배우는 AWS - 웹/네트워크 | 쿠팡

쿠팡에서 비전공자를 위한 AWS:클라우드 입문부터 자격증 취득까지 쉽게 배우는 AWS 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 웹/네트워크 제품도 바로 쿠팡에서 확인할 수 있습니

www.coupang.com

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

320x100
320x100