(한국어) AWS ML Associate (5) - Amazon S3 핵심 정리
Amazon S3 핵심 정리
왜 중요한가?
Amazon S3(Simple Storage Service)는 AWS의 핵심 스토리지 서비스로, “사실상 무한대(virtually unlimited)” 확장성을 제공하는 객체 스토리지(Object Storage) 입니다. 대부분의 데이터/AI 워크로드가 S3를 중심으로 연결되며, 다른 AWS 서비스와의 통합성이 매우 뛰어납니다.
1) S3가 쓰이는 곳 (Use Cases)
- 백업 & 스토리지(Backup & Storage): 장기 보관, 스냅샷 저장.
- 재해복구(Disaster Recovery, DR): 다른 리전(Region) 으로 복제해 RTO/RPO 개선.
- 아카이브(Archive): 저비용 보관(S3 Glacier 계열) 후 필요 시 복원.
- 하이브리드 스토리지(Hybrid Cloud Storage): 온프레미스 + 클라우드 연동.
- 애플리케이션/미디어 호스팅(App/Media Hosting): 이미지/동영상/정적 파일 제공.
- 데이터 레이크(Data Lake) & 빅데이터 분석(Big Data Analytics): 원천 데이터 저장 후 Athena/Glue/Lake Formation 등으로 분석.
- 소프트웨어 배포(Software Delivery): 설치 파일, 모델 아티팩트 배포.
- 정적 웹사이트(Static Website): 정적 호스팅 + CloudFront(CDN) 로 가속.
MLA-C01 포인트: S3는 SageMaker와 함께 자주 출제됩니다. 학습/추론 데이터 저장, 모델 아티팩트 저장, Athena/Glue와 연계한 피처 추출 파이프라인 등. S3 경로 표기(S3 URI)와 권한 모델을 익히세요.
2) 버킷(Bucket) — 최상위 네임스페이스
- 정의: 객체(파일)를 담는 컨테이너. UI가 폴더처럼 보여도, 실제로는 버킷/키(key) 기반의 평면 구조.
- 글로벌 유니크 이름(Global Unique Name): 전 세계 모든 계정/리전에서 유일해야 함.
- 리전 범위(Region-scoped): 버킷은 특정 리전에 생성됩니다. (S3가 글로벌처럼 보여도 생성 위치는 리전)
- 네이밍 규칙(Naming Rules) (대표 규칙만 발췌)
- 영문 소문자/숫자/하이픈만 사용, 대문자/언더스코어 불가
- 길이 3~63자
- IP 형태 금지(예:
192.168.0.1
) xn--
로 시작 금지,-s3alias
로 끝 금지
- 권장 초기 설정
- ACL 비활성화(ACLs disabled, Bucket owner enforced)
- 퍼블릭 접근 차단(Block Public Access): 기본 on
- 서버사이드 암호화(Server-Side Encryption, SSE): 기본 SSE-S3 또는 SSE-KMS
시험 포인트
- “버킷 이름 글로벌 유일”과 “버킷은 리전에 종속”을 구분하세요.
- 보안 기본값: Block Public Access = ON, ACL 비권장, SSE 적용.
3) 객체(Object) & 키(Key)
- 키(Key) = 전체 경로(Full Path)
- 예:
s3://my-bucket/my_folder1/another_folder/my_file.txt
- Prefix + Object Name 조합 (디렉터리 개념은 UI 편의일 뿐, 실제로는 긴 문자열 경로)
- 예:
- 크기 제한(Size Limits)
- 최대 5TB
- 5GB 초과 업로드는 반드시 멀티파트 업로드(Multi-part Upload) 사용
- 메타데이터(Metadata): 시스템/사용자 정의 Key-Value
- 태그(Tags): 최대 10쌍, 비용/수명주기/보안 정책에 유용
- 버전 ID(Version ID): 버전 관리(Versioning) 활성화 시 부여
시험 포인트
- 5GB 초과 → Multi-part Upload 필수
- Versioning: 삭제/덮어쓰기 보호, MFA Delete 와 함께 보안 강화
4) 접근 방법: 퍼블릭 URL vs 프리사인드 URL
- Public URL: 객체가 퍼블릭이어야 접근 가능(기본은 차단됨).
- Pre-signed URL: 임시 권한이 서명된 URL. 비공개 객체도 서명 만료 시간 동안 접근 가능. 안전한 1회성 공유에 적합.
시험 포인트: “객체는 비공개인데 외부와 잠깐 공유하고 싶다” → Pre-signed URL 정답.
5) 필수 보안/운영 기능 (Security & Operations)
- 암호화(Encryption)
- SSE-S3(Amazon S3 managed keys) — 가장 간단
- SSE-KMS(AWS KMS keys) — 키 사용 권한/감사 필요 시
- CSE(Client-Side Encryption) — 클라이언트에서 암호화 후 업로드
- 버전 관리(Versioning) + MFA Delete: 실수/랜섬웨어 대응
- 수명주기(Lifecycle) 정책: Standard → IA → Glacier 티어링, 자동 만료/아카이브
- 복제(Replication)
- CRR(Cross-Region Replication): DR/지연단축
- SRR(Same-Region Replication): 멀티계정/멀티버킷 분리
- 액세스 제어(Access Control)
- IAM 정책(IAM Policy), 버킷 정책(Bucket Policy) 중심
- S3 Access Points/**VPC 엔드포인트(Interface/Gateway)**로 네트워크 격리
- 감사/로깅(Audit/Logging): CloudTrail, Server Access Logging, S3 Object Ownership
시험 포인트
- SSE-KMS 선택 시 KMS 키 권한(Encrypt/Decrypt/API호출)이 추가로 필요.
- CRR은 버전닝이 양쪽 모두 활성화되어야 작동. 소유권/권한 이슈 자주 출제.
6) 정적 웹사이트 & CDN
- Static Website Hosting: S3 정적 웹 사이트 엔드포인트 사용(퍼블릭 접근 필요).
- CloudFront 앞단 배치 권장: OAC(Origin Access Control)로 S3는 비공개, CloudFront만 접근 → 성능/보안 모두 향상.
시험 포인트: “S3를 퍼블릭으로 열지 않고 정적 사이트 제공?” → CloudFront + OAC 패턴.
7) 데이터 레이크 패턴 (for ML/Analytics)
- 원천 저장: S3에 원본 데이터 적재(스키마 온 리드, Schema-on-Read).
- 카탈로그: AWS Glue Data Catalog
- 쿼리/탐색: Amazon Athena(서버리스 SQL), Redshift Spectrum
- 거버넌스: Lake Formation(권한/데이터 액세스 제어)
- 형식 최적화: Parquet/ORC 등 컬럼나형(Columnar) 포맷 권장 (스캔/비용 절감)
시험 포인트: “S3 + Athena 비용 최적화?” → Parquet + 파티셔닝(Partitioning) + 프리픽스 설계.
8) 콘솔에서 자주 하는 작업 요약
- 버킷 생성(Create Bucket): 리전 선택 → 이름 지정(글로벌 유일) → Block Public Access ON, SSE 설정
- 객체 업로드(Upload): 단일/멀티파트 선택(5GB 초과 시 멀티파트)
- 폴더처럼 사용하기: 접두사(prefix)로 논리적 구분(실제 디렉터리는 아님)
- 프리사인드 URL 생성: 일시적 외부 공유
- 버킷 정책/액세스 포인트: 세밀 권한/네트워크 격리 설정
9) 자주 나오는 함정(Exam Gotchas)
- 디렉터리 개념 없음: 키 문자열에
/
를 써서 prefix를 흉내낼 뿐. - 5GB 업로드 제한: 초과 시 Multi-part Upload 필수.
- CRR 조건: 양쪽 버킷 Versioning ON + 권한/소유권 고려.
- KMS 사용 시 권한 오류: KMS 키 정책/Grant/IAM 권한 누락 체크.
- 퍼블릭 차단이 기본: 정적 사이트/퍼블릭 파일 배포는 CloudFront 경유가 안전.
10) ML 엔지니어를 위한 S3 빠른 체크리스트
- 데이터 저장 포맷: CSV → Parquet 변환 고려(성능/비용)
- 접근 제어: IAM Role 기반 최소 권한(least privilege)
- 암호화: SSE-KMS 기본, 키 권한 점검(파이프라인/노트북/배치)
- 수명주기 정책: 학습 로그/중간 산출물 자동 정리
- 경로 규약:
s3://bucket/project/dataset/partition=.../
일관성 - 프리사인드 URL: 일시적 데이터 공유/검수 자동화에 활용
핵심 용어 요약 (KR/EN)
- 버킷 Bucket / 객체 Object / 키 Key / 접두사 Prefix / 버전 관리 Versioning
- 프리사인드 URL Pre-signed URL / 수명주기 정책 Lifecycle Policy
- 서버사이드 암호화 Server-Side Encryption (SSE-S3 / SSE-KMS)
- 교차 리전 복제 Cross-Region Replication (CRR) / 동일 리전 복제 Same-Region Replication (SRR)
- 데이터 레이크 Data Lake / 스키마 온 리드 Schema-on-Read / 컬럼나 Columnar
추가 참고(심화)
- S3 Storage Classes: Standard / Standard-IA / One Zone-IA / Intelligent-Tiering / Glacier Instant/Flx/Deep Archive
- 네트워크 최적화: S3 Transfer Acceleration, 멀티파트 병렬 업로드, VPC 엔드포인트
- 비용 관리: S3 Storage Lens, Lifecycle/Intelligent-Tiering, 파티셔닝/프리픽스 설계
요약: S3는 ML/분석 워크로드의 “공용 데이터 허브”입니다. 보안 기본값, 멀티파트 업로드, Versioning/CRR, SSE-KMS, Athena+Parquet 같은 패턴을 확실히 익히면 MLA-C01에서 고득점할 수 있습니다.
Amazon S3 암호화 방식 쉽게 설명하기
Amazon S3에서 데이터를 저장할 때 보안을 위해 서버 사이드 암호화(Server-side encryption, SSE) 를 사용할 수 있습니다.
대표적으로 자주 쓰이는 두 가지 방식이 있습니다.
1. SSE-S3 (Server-side encryption with Amazon S3 managed keys)
설명
S3가 직접 암호화 키를 관리해주는 방식입니다.
사용자가 따로 키를 만들거나 관리할 필요가 없습니다.
데이터를 업로드하면 S3가 자동으로 암호화하고, 다운로드하면 자동으로 복호화해 줍니다.특징
- 사용하기 가장 쉽습니다 (추가 설정 거의 필요 없음).
- 암호화 키는 Amazon S3가 전적으로 관리합니다.
AES-256
암호화 알고리즘을 사용합니다.- 비용은 추가로 발생하지 않습니다.
시험 포인트 (AWS Certified ML Engineer Associate)
- SSE-S3는 S3가 키를 관리한다라는 점이 핵심.
- 옵션을 활성화하기만 하면 끝 (운영 편리성 ↑).
- 보안 규제가 강하지 않거나 단순 저장이 목적일 때 적합.
2. SSE-KMS (Server-side encryption with AWS Key Management Service keys)
설명
AWS Key Management Service(KMS)를 통해 암호화 키를 관리하는 방식입니다.
즉, 암호화 키를 직접 생성, 관리, 권한 제어할 수 있습니다.
더 세밀한 보안 관리가 필요한 경우에 사용됩니다.특징
- 고객이 키를 직접 관리 (Customer managed keys) 가능.
- 키 사용에 대한 CloudTrail 로그로 추적 가능 → 누가, 언제, 어떤 키를 사용했는지 알 수 있음.
- IAM 정책을 통해 세밀하게 접근 제어 가능 (예: 특정 사용자만 복호화 가능).
- KMS 호출 비용이 발생합니다.
시험 포인트
- SSE-KMS는 KMS와 통합되어 있어 세밀한 보안·감사 관리 가능.
- 규제가 있는 산업(금융, 헬스케어 등)에서는 SSE-KMS가 요구될 수 있음.
- 비용과 성능(추가 API 호출)도 고려해야 함.
비교 요약
항목 | SSE-S3 | SSE-KMS |
---|---|---|
키 관리 | Amazon S3 자동 관리 | AWS KMS에서 직접 관리 가능 |
보안 수준 | 기본적 (단순 암호화) | 고급 (세밀한 제어, 로깅) |
비용 | 추가 비용 없음 | KMS 사용 비용 발생 |
주요 특징 | 가장 간단, 자동 처리 | IAM·CloudTrail 통합, 규제 준수에 적합 |
✅ 시험 대비 핵심
- SSE-S3: S3가 키 관리, 간단, 저비용
- SSE-KMS: KMS와 통합, 세밀한 제어, 감사 로그, 비용 발생