AWS DVA-C02 마스터 노트 시리즈 3편. S3 스토리지 클래스 7종·버전 관리·라이프사이클·CRR vs SRR·이벤트 알림, S3 보안 4가지(SSE-S3·SSE-KMS·SSE-C·DSSE-KMS), Pre-signed URL과 Multipart Upload, EBS 볼륨 타입·스냅샷, EFS 공유 파일 시스템까지 자격증 시험 단골을 한 흐름으로.
이 글은 AWS DVA-C02 마스터 노트 시리즈의 세 번째 편입니다. 2편(컴퓨팅)에서 EC2·Lambda를 잡았다면, 이번엔 그 컴퓨팅이 데이터를 저장하는 자리 — S3·EBS·EFS 3가지 스토리지.
S3는 거의 모든 시나리오에 등장하는 핵심 서비스라 시험 비중이 매우 큽니다. 이번 편의 핵심 — S3 스토리지 클래스·암호화·Pre-signed URL 세 토픽.
S3 — 객체 스토리지
회사 비유 — 거대한 사물함. 무한 확장, 99.999999999%(11 9's) 내구성. 한 객체 최대 5TB.
핵심 용어
Bucket (버킷, 글로벌 이름) → Object (객체, key/value)
→ Key는 파일 경로 같은 문자열
여기서 시험 함정이 하나 있어요. 버킷 이름은 글로벌 유니크입니다. 다른 AWS 사용자가 쓰는 이름은 못 써요. 소문자·숫자·하이픈만, 3~63자.
S3 스토리지 클래스 7종
| 클래스 | 가용성 | 비용 | 적합 |
|---|---|---|---|
| Standard | 99.99% | 표준 | 자주 액세스 |
| Intelligent-Tiering | 99.9% | 자동 최적 | 패턴 모를 때 |
| Standard-IA | 99.9% | 저장 ↓ / 검색 ↑ | 월 1회 미만 |
| One Zone-IA | 99.5% | IA 20% 더 저렴 | 재생성 가능 데이터 |
| Glacier Instant Retrieval | 99.9% | 매우 저렴 | 분기별 1회 |
| Glacier Flexible Retrieval | 99.99% | 매우 저렴 | 분~시간 검색 |
| Glacier Deep Archive | 99.99% | 가장 저렴 | 12시간 검색, 7년+ |
여기서 정말 중요한 시험 함정 — Glacier Instant Retrieval은 즉시 검색, Flexible은 분~시간, Deep Archive는 12시간. 검색 시간 시험 단골.
라이프사이클 정책
자동 클래스 전환·삭제.
사용자가 객체 업로드 (Standard)
↓ 30일 후 (Transition)
Standard-IA
↓ 90일 후
Glacier Flexible
↓ 365일 후 (Expiration)
삭제
여기서 시험 함정이 하나 있어요. Standard → Standard-IA 최소 30일 후 가능. 더 빨리 옮기면 오류. 30일 미만은 자체 클래스 유지.
버전 관리 (Versioning)
같은 키로 새 객체 업로드 시 버전 ID로 덮어쓰지 않고 보관.
my-bucket/photo.jpg → 버전 1 (2024-01-01)
→ 버전 2 (2024-02-01) ← 현재
→ 버전 3 (2024-03-01) ← 최신
장점 — 실수 삭제 복구. 단점 — 저장 비용 증가.
여기서 시험 함정이 하나 있어요. 버전 관리 활성 후 비활성화 시 기존 버전은 그대로. 완전 끄려면 모든 버전 삭제.
MFA Delete
객체 삭제 시 MFA 요구. 루트 계정만 활성화 가능.
S3 암호화 4종
| 방식 | 키 관리 | 헤더 |
|---|---|---|
| SSE-S3 | AWS 관리 (자동, AES-256) | x-amz-server-side-encryption: AES256 |
| SSE-KMS | KMS 키 (감사 추적) | ... aws:kms |
| SSE-C | 사용자 키 (S3 저장 X) | 요청마다 키 전송 |
| DSSE-KMS | KMS 이중 암호화 | 매우 민감 데이터 |
클라이언트 측 암호화
업로드 전에 클라이언트가 암호화. AWS는 암호화된 데이터만 받음.
여기서 정말 중요한 시험 함정 — 2023년 1월부터 모든 새 S3 객체 기본 SSE-S3 암호화. 이전 답안과 미묘하게 다를 수 있음.
강제 암호화
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"Null": { "s3:x-amz-server-side-encryption": "true" }
}
}
암호화 헤더 없는 PUT 거부.
보안
버킷 정책 vs IAM 정책
1편에서 본 평가 룰 그대로. 명시적 Deny 우선.
Block Public Access
기본 4가지 차단 설정. 실수로 퍼블릭 노출 방지.
CORS (Cross-Origin Resource Sharing)
다른 도메인 웹페이지에서 S3 직접 호출 시.
[
{
"AllowedOrigins": ["https://my-website.com"],
"AllowedMethods": ["GET", "HEAD"],
"AllowedHeaders": ["*"]
}
]
Pre-signed URL — 임시 액세스 URL
비공개 객체에 임시 액세스 URL 발급. 기본 1시간, 최대 7일.
aws s3 presign s3://my-bucket/private.pdf --expires-in 3600
# → https://...?X-Amz-Signature=...
용도:
- 사용자가 일시적으로 비공개 파일 다운로드
- 파일 업로드용 URL 발급 (PUT)
여기서 시험 함정이 하나 있어요. Pre-signed URL은 발급자의 권한으로 동작합니다. 발급한 IAM 사용자가 권한 있으면 URL 받은 사람도 동일 작업 가능.
Multipart Upload
100MB 이상 파일은 권장, 5GB 이상은 필수.
파일을 여러 파트로 분할 → 병렬 업로드 → 완료 시 결합
장점:
- 병렬 처리 → 빠른 업로드
- 실패 시 해당 파트만 재업로드
- 일시 중지·재개 가능
Transfer Acceleration
CloudFront 엣지 로케이션 활용한 빠른 업로드. 글로벌 사용자가 멀리 있는 버킷에 업로드 시.
S3 Object Lock
WORM(Write Once Read Many) — 한 번 쓰면 수정·삭제 불가.
| 모드 | 설명 |
|---|---|
| Governance Mode | 권한 가진 사용자만 우회 가능 |
| Compliance Mode | 누구도 수정·삭제 불가 (루트 계정도) |
규정 준수(금융·의료 7년 보관)에 사용.
Glacier Vault Lock
Vault 단위 정책 잠금. 한 번 잠그면 변경 불가. 데이터 보존 정책 강제.
Replication — CRR vs SRR
| 종류 | 약자 | 자리 |
|---|---|---|
| Cross-Region Replication | CRR | 다른 리전에 복제 (재해 복구) |
| Same-Region Replication | SRR | 같은 리전 다른 버킷 (로그 집계·계정 분리) |
조건:
- 양쪽 버전 관리 활성
- IAM 역할 필요
- 비동기 (지연 가능)
여기서 시험 함정이 하나 있어요. 활성화 후 새 객체부터 복제 — 기존 객체는 X. 기존 객체도 복제하려면 S3 Batch Operations.
이벤트 알림
S3 객체 변경 → SNS·SQS·Lambda·EventBridge 트리거.
S3 PUT → SNS → 이메일 알림 + Lambda 트리거 (썸네일 생성)
용도 — 이미지 업로드 시 자동 썸네일, 데이터 도착 시 ETL 시작.
EBS — Elastic Block Store
EC2의 디스크. AZ 종속 — 같은 AZ EC2에만 attach.
볼륨 타입
| 타입 | 용도 | 특징 |
|---|---|---|
| gp3 (SSD 범용) | 기본·블록 | IOPS·처리량 독립 설정 |
| gp2 (SSD 범용) | 구버전 | gp3 대비 비추천 |
| io1·io2 (SSD Provisioned IOPS) | DB·고성능 | 최대 64,000 IOPS |
| st1 (HDD 처리량) | 빅데이터·로그 | 시퀀스 워크로드 |
| sc1 (HDD Cold) | 거의 안 봄 | 가장 저렴 |
스냅샷
볼륨의 시점 백업. S3에 저장(사용자에게는 안 보임).
EBS 볼륨 → 스냅샷 (S3 저장) → 다른 AZ·리전에 복원
여기서 시험 함정이 하나 있어요. EBS는 AZ 종속이라 다른 AZ에서 못 씀. 다른 AZ·리전으로 옮기려면 스냅샷 → 새 볼륨 경유.
다중 attach (io1·io2)
같은 EBS를 여러 EC2에 동시 attach. 클러스터형 워크로드.
EFS — 공유 파일 시스템
NFS 기반 공유 파일 시스템. 여러 AZ EC2가 동시 마운트 가능.
성능 모드
| 모드 | 용도 |
|---|---|
| General Purpose | 일반 (지연 우선) |
| Max I/O | 분석·고병렬 (처리량 우선) |
처리량 모드
| 모드 | 설명 |
|---|---|
| Bursting | 크기에 비례한 IO |
| Provisioned | IO를 미리 예약 |
스토리지 클래스
| 클래스 | 비용 |
|---|---|
| Standard | 기본 |
| Infrequent Access (IA) | 자주 안 쓰는 파일 (40-90% 저렴) |
라이프사이클로 자동 IA 전환.
EBS vs EFS vs S3 비교
| 구분 | EBS | EFS | S3 |
|---|---|---|---|
| 타입 | 블록 | 파일 (NFS) | 객체 |
| AZ | 종속 | 멀티 AZ | 리전 (멀티 AZ 자동) |
| 동시 사용 | 1대 (또는 io1/io2 다중 attach) | 다수 | 다수 |
| 적합 | EC2 디스크·DB | 공유 파일 시스템 | 무제한 객체 저장 |
시험 직전 한 번 더 — 자주 헷갈리는 함정 모음
여기까지가 3편의 핵심입니다. 시험 직전 또는 실무에서 헷갈릴 때 다시 펼쳐 볼 수 있게 압축 노트로 마무리할게요.
- S3 = 객체 스토리지, 11 9's 내구성, 객체 최대 5TB
- 버킷 이름 글로벌 유니크 — 소문자·숫자·하이픈
- 스토리지 클래스 7종 — Standard / Intelligent / Standard-IA / One Zone / Glacier Instant·Flexible·Deep
- Glacier 검색 시간 — Instant 즉시 / Flexible 분~시간 / Deep 12시간
- 라이프사이클 — Standard → Standard-IA 최소 30일 후
- 버전 관리 — 실수 삭제 복구
- MFA Delete — 루트 계정만 활성
- 암호화 4종 — SSE-S3 / SSE-KMS / SSE-C / DSSE-KMS
- 2023년 1월부터 기본 SSE-S3 암호화
- 강제 암호화 = 버킷 정책 + Condition Null 헤더
- Block Public Access = 기본 4가지 차단
- Pre-signed URL = 임시 액세스, 기본 1시간 / 최대 7일
- 발급자 권한으로 동작
- Multipart Upload = 100MB+ 권장, 5GB+ 필수
- 병렬·재시도·일시 중지
- Transfer Acceleration = CloudFront 엣지 활용
- S3 Object Lock = WORM, Governance / Compliance
- CRR = Cross-Region (재해 복구) / SRR = Same-Region (로그)
- 활성 후 새 객체만 복제 — 기존은 Batch Ops
- 이벤트 알림 → SNS·SQS·Lambda·EventBridge
- EBS — AZ 종속, 1 EC2 (또는 io1/io2 다중)
- EBS 타입 — gp3 (기본) / io1·io2 (DB) / st1·sc1 (HDD)
- EBS 스냅샷 = S3 저장, 다른 AZ·리전 이동 경유
- EFS = NFS 공유, 멀티 AZ 동시 마운트
- 성능 — General / Max I/O / 처리량 — Bursting / Provisioned
- IA 라이프사이클 — 40-90% 저렴
- EBS(블록) vs EFS(파일) vs S3(객체) 구분
시리즈 다른 편
같은 시리즈의 다른 글들도 같은 톤으로 묶어 정리되어 있어요. 3편 스토리지가 잡히면 4편 데이터베이스에서 관계형 vs NoSQL 구분이 자연스럽게 따라옵니다.
- 1편 — IAM·STS·Cognito
- 2편 — 컴퓨팅 (EC2·Lambda·Beanstalk)
- 3편 — 스토리지 (현재 글)
- 4편 — 데이터베이스 (RDS·Aurora·DynamoDB)
- 5편 — 네트워킹 (VPC·CloudFront·API Gateway)
- 6편 — 메시징 (SQS·SNS·Kinesis)
- 7편 — 서버리스 (Lambda·SAM·Step Functions)
- 8편 — CI/CD
- 9편 — 모니터링
- 10편 — 보안·암호화
- 11편 — 컨테이너
- 12편 — 개발자 도구
공식 문서: AWS S3 Reference에서 더 깊이 갈 수 있어요.
다음 글(4편)에서는 데이터베이스 — RDS 6엔진·Aurora 5리전 글로벌 DB·Read Replica vs Multi-AZ, ElastiCache Redis vs Memcached, DynamoDB 파티션 키 설계까지 풀어 갑니다.