Amazon S3 (스토리지 클래스, 보안 기본값, 수명 주기, S3 Files)
S3 스토리지 클래스와 서울 리전 단가, 버킷 정책과 퍼블릭 액세스 차단 같은 보안 기본값, 버전 관리와 Object Lock, 수명 주기와 Intelligent-Tiering, 성능 한도, 2025-12 에 50TB 로 커진 객체 크기와 2026-04 에 GA 된 S3 Files 를 정리합니다.
S3 의 기본 성질
S3 는 객체 스토리지입니다. 버킷 안에 키(경로처럼 보이는 이름)와 값(객체)을 넣고, 리전 안 여러 AZ 에 자동으로 나눠 저장합니다(One Zone 클래스 제외). 2020 년부터 강한 쓰기 후 읽기 일관성을 제공해서, PUT 직후 GET 하면 새 객체가 보입니다. 객체 하나의 최대 크기는 2025-12 부터 50 TB 입니다(이전 5 TB). 큰 객체는 멀티파트 업로드로 올립니다.
스토리지 클래스
서울 리전(ap-northeast-2) 저장 단가는 2026-10 AWS Price List API 기준입니다.
| 클래스 | 서울 단가 (USD/GB-월) | 특징 | 맞는 데이터 |
|---|---|---|---|
| S3 Standard | 0.025 (첫 50TB) | 기본. 밀리초 접근 | 자주 읽는 데이터 |
| S3 Intelligent-Tiering | 자주 접근 계층 0.025 + 객체당 모니터링 요금 | 접근 패턴에 따라 자동으로 계층 이동, 검색 요금 없음 | 패턴을 모르는 데이터. 기본값으로 좋음 |
| S3 Standard-IA | 0.0138 | 검색 GB 요금, 최소 30 일, 최소 객체 128KB 과금 | 한 달에 한 번 이하로 읽는 백업 |
| S3 One Zone-IA | Standard-IA 보다 쌈 | AZ 하나에만 저장 | 다시 만들 수 있는 사본 |
| S3 Glacier Instant Retrieval | 0.005 | 밀리초 접근, 최소 90 일 | 분기에 한 번 읽는 아카이브 |
| S3 Glacier Flexible Retrieval | 0.0045 | 복원에 분부터 시간 단위, 최소 90 일 | 거의 안 읽는 아카이브 |
| S3 Glacier Deep Archive | 가장 쌈 | 표준 복원 12 시간 이내, 최소 180 일 | 규정 보관용 장기 아카이브 |
| S3 Express One Zone | Standard 보다 비쌈 | 디렉터리 버킷, 한 자릿수 ms 지연 | ML 학습, 분석 중간 데이터 |
요청 요금도 있습니다. 서울 Standard 기준 PUT, COPY, POST, LIST 는 1,000 건에 0.0045 USD, GET 과 기타는 10,000 건에 0.0035 USD 입니다. 작은 파일 수백만 개를 자주 읽고 쓰는 구조라면 저장 요금보다 요청 요금이 더 나올 수 있습니다. 직접 계산은 월 비용 계산기로 해 봅니다.
보안 기본값
2023 년부터 새 버킷은 다음이 기본입니다.
- 퍼블릭 액세스 차단(Block Public Access) 네 가지 설정 모두 켜짐
- 객체 소유권 = 버킷 소유자 강제, ACL 비활성. 권한은 버킷 정책과 IAM 으로만
- SSE-S3 기본 암호화. 규정상 키를 직접 관리해야 하면 SSE-KMS 로 바꾸고, 요청 수가 많으면 S3 버킷 키로 KMS 호출 비용을 줄입니다
계정 단위 퍼블릭 액세스 차단도 켜 두고, 조직 전체에는 SCP 로 이 설정 변경을 막습니다. 정적 웹사이트를 공개해야 하면 버킷을 열지 말고 CloudFront 와 OAC(Origin Access Control) 로 내보냅니다.
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AllowCloudFrontOAC",
"Effect": "Allow",
"Principal": { "Service": "cloudfront.amazonaws.com" },
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::static-site-prod/*",
"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/E2EXAMPLE" } }
}]
}2025-11 부터는 범용 버킷에도 태그 기반 접근 제어(ABAC) 를 쓸 수 있어서, 버킷 태그와 주체 태그를 맞춰 권한을 줄 수 있습니다. 403 을 만났을 때 볼 순서는 S3 403 트러블슈팅에 있습니다.
버전 관리, 복제, Object Lock
- 버전 관리: 덮어쓰기와 삭제를 되돌릴 수 있습니다. 삭제는 삭제 마커만 남기므로, 수명 주기 규칙으로 이전 버전을 일정 기간 뒤 지우지 않으면 저장 요금이 조용히 늘어납니다.
- 복제(CRR, SRR): 다른 리전이나 같은 리전의 다른 버킷으로 자동 복제합니다. RTC 를 켜면 15 분 안 복제를 SLA 로 보장합니다.
- Object Lock: WORM(한 번 쓰고 못 지움) 보관. 거버넌스 모드는 특별 권한으로 풀 수 있고, 규정 준수 모드는 루트도 못 지웁니다. 랜섬웨어 대비 백업 사본에 씁니다.
수명 주기 규칙
{
"Rules": [{
"ID": "logs-tiering",
"Filter": { "Prefix": "logs/" },
"Status": "Enabled",
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 180, "StorageClass": "GLACIER_IR" }
],
"Expiration": { "Days": 730 },
"NoncurrentVersionExpiration": { "NoncurrentDays": 30 },
"AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 }
}]
}AbortIncompleteMultipartUpload 는 거의 모든 버킷에 넣습니다. 실패한 멀티파트 업로드 조각은 목록에 안 보이면서 요금은 나옵니다. 작은 객체(128KB 미만)는 IA 계열로 옮겨도 이득이 없으니 ObjectSizeGreaterThan 필터로 거릅니다.
성능
- 접두사(prefix)마다 초당 PUT, COPY, POST, DELETE 3,500 건, GET, HEAD 5,500 건을 처리하고, 접두사를 나누면 그만큼 늘어납니다. 부하가 갑자기 늘면 S3 가 확장하는 동안 503 Slow Down 이 날 수 있으니 SDK 의 지수 백오프 재시도를 켜 둡니다.
- 큰 파일은 멀티파트 업로드와 바이트 범위 GET 으로 병렬 처리합니다. AWS CRT 기반 클라이언트(Mountpoint for Amazon S3, CRT 전송 관리자)가 이것을 자동으로 해 줍니다.
- 먼 거리 업로드는 Transfer Acceleration, 반복 읽기는 CloudFront 캐시를 씁니다.
S3 Files (2026-04) 와 새 기능들
- S3 Files(2026-04-07 GA): S3 버킷을 파일 시스템처럼 마운트해 여러 컴퓨팅 리소스가 공유합니다. Amazon EFS 기술로 만들어졌고, 파일 작업을 S3 요청으로 바꿔 주며 같은 데이터를 파일 API 와 S3 API 로 동시에 씁니다. 기존 버킷도 이전 없이 쓸 수 있고 GA 때 34 개 리전에서 시작했습니다. Bedrock AgentCore 런타임에도 파일 시스템으로 붙일 수 있습니다.
- S3 Metadata: 버킷의 객체 메타데이터를 S3 Tables(Iceberg 테이블)로 자동 기록해 SQL 로 조회합니다.
- 조건부 쓰기:
If-None-Match,If-Match헤더로 덮어쓰기 경쟁을 막습니다. 분산 잠금이나 매니페스트 갱신에 유용합니다. - S3 annotations: 2026-06 AWS Summit New York 에서 객체에 최대 1 GB 의 바꿀 수 있고 조회 가능한 문맥 정보를 붙이는 기능으로 발표됐습니다. 출시 단계와 리전은 공식 문서에서 확인합니다.
- 테이블과 벡터를 위한 전용 버킷은 S3 Tables 와 S3 Vectors 문서에 정리했습니다.
자주 하는 실수
- 버킷 이름에 의미 있는 정보: 버킷 이름은 전역 공유 이름이라 남이 먼저 쓰거나 추측할 수 있습니다.
- 프라이빗 서브넷에서 NAT 로 S3 접근: NAT 처리 요금(서울 GB 당 0.059 USD)이 붙습니다. 무료인 S3 게이트웨이 엔드포인트를 씁니다.
- 버전 관리만 켜고 이전 버전 정리 안 함: 저장량이 끝없이 늘어납니다.
ListBucket남용: 키 수가 많으면 LIST 가 느리고 비쌉니다. 인벤토리나 S3 Metadata 를 씁니다.