스토리지 클래스와 객체 자동 관리 이해하기
S3는 AWS에서 가장 많이 사용되는 객체(Object) 스토리지 서비스입니다. 단순히 파일을 저장하는 것뿐만 아니라 저장된 데이터를 자동으로 관리하여 비용을 절감할 수 있는 Lifecycle(Life Cycle) 기능을 제공합니다.
이번 글에서는 S3 Lifecycle의 개념과 스토리지 클래스, 객체 만료, 버전 관리까지 함께 살펴보겠습니다.
1. S3 Lifecycle이란?

S3 Lifecycle은 객체가 생성된 후 일정 시간이 지나면 자동으로 스토리지 클래스를 변경하거나 삭제하도록 설정하는 기능입니다.
예를 들어 최근 한 달 동안은 자주 사용하는 로그 파일을 Standard에 저장하고, 이후에는 Standard-IA, 장기 보관 시에는 Glacier로 자동 이동하도록 설정할 수 있습니다.
이 기능을 활용하면 별도의 스크립트를 작성하지 않아도 AWS가 자동으로 데이터를 관리해 줍니다.
예시
- 생성 후 30일 → Standard-IA
- 생성 후 180일 → Glacier Flexible Retrieval
- 생성 후 700일 → 자동 삭제

2. 스토리지 클래스(Storage Class)란?

스토리지 클래스는 객체를 어떤 방식으로 저장할 것인지를 의미합니다.
객체의 내용은 그대로 유지되지만 저장 비용, 조회 비용, 접근 속도 등이 달라집니다.
3. S3 클래스 종류
| 클래스 | 특징 | 접근 | 속도 | 비용 기간 (보관/사용 패턴) |
대표 활용 사례 |
| Standard | 가장 기본적인 스토리지 클래스로 자주 사용하는 데이터를 저장 |
즉시 접근 | 저장 비용 높음 |
단기 ~ 중기 (자주 접근) |
웹 서비스 이미지, 사용자 업로드 파일, 최근 로그, 운영 데이터 |
| Standard-IA | 자주 조회하지 않지만 필요 시 즉시 접근해야 하는 데이터 저장 |
즉시 접근 | 저장 비용 저렴, 조회 시 비용 발생 |
중기 ~ 장기 (가끔 접근) |
지난달 Airflow 로그, Kafka 로그, 프로젝트 백업, 오래된 파일 |
| Intelligent- Tiering |
객체의 접근 패턴을 AWS가 자동으로 분석하여 적절한 계층으로 이동 |
즉시 접근 | 접근 빈도에 따라 자동 최적화 |
단기 ~ 장기 (접근 패턴 예측 어려움) |
프로젝트 산출물, 분석 데이터, 연구 데이터, 접근 빈도를 예측하기 어려운 파일 |
| Glacier Flexible Retrieval |
장기 보관을 위한 스토리지 클래스 |
복원 후 접근 (수분~수시간) | 매우 저렴 | 장기 (드물게 접근) | 운영 로그, 감사(Audit) 로그, 장기 백업, 이전 프로젝트 데이터 |
| Glacier Deep Archive | 가장 저렴한 장기 보관용 스토리지 클래스 |
복원 후 접근 (수시간~수십 시간) | 가장 저렴 | 초장기 (거의 접근하지 않음) | 법적 보관 자료, 의료 기록, 회계 자료, 장기 백업 |
| S3 Express One Zone | 하나의 AZ에 저장하여 가장 낮은 지연 시간과 높은 처리량 제공 |
매우 빠름 | 워크로드에 따라 상이 | 단기 (초고속 처리, 실시간 워크로드) | AI 학습 데이터, 실시간 데이터 분석, Spark 기반 빅데이터 처리, 대규모 영상 처리 |
4. 객체 현재 버전과 이전 버전이란?
S3 Versioning을 활성화하면 객체를 수정하거나 덮어써도 이전 버전이 삭제되지 않습니다.
예를 들어 report.pdf를 수정하면
- v2 : 현재 버전
- v1 : 이전 버전
으로 관리됩니다.
Lifecycle에서는 현재 버전과 이전 버전에 대해 각각 다른 정책을 설정할 수 있습니다.
5. 객체의 현재 버전 만료

현재 버전 만료는 현재 사용 중인 객체를 일정 기간이 지나면 자동으로 삭제하는 기능입니다.
700일 후 현재 버전 만료 로 설정하면 생성 후 700일이 지난 객체는 자동으로 삭제됩니다.
Versioning이 활성화된 경우에는 실제 삭제 대신 Delete Marker가 생성됩니다.
6. 객체의 이전 버전 영구 삭제

더 이상 필요하지 않은 이전 버전은 일정 기간 후 자동으로 삭제할 수 있습니다.
700일 후 이전 버전 삭제로 설정하면 이전 버전이 된 후 700일이 지나면 자동으로 영구 삭제됩니다.
이를 통해 불필요한 저장 공간 사용을 줄일 수 있습니다.
7. Lifecycle 정책 예시
7-1) 현재 버전(Current Version) 전환

현재 사용 중인 객체를 생성 후 경과 기간에 따라 자동으로 다른 스토리지 클래스로 이동하도록 설정한 화면입니다.
| 기간 설정 | 객체 생성 후이동되는 스토리지 클래스 |
목적 |
| 30일 | Standard-IA | 자주 사용하지 않는 데이터의 저장 비용 절감 |
| 60일 | Intelligent-Tiering | 접근 패턴을 AWS가 자동 분석하여 최적의 계층으로 관리 |
| 90일 | Glacier Instant Retrieval | 거의 조회하지 않지만 즉시 접근이 필요한 데이터 보관 |
| 180일 | Glacier Flexible Retrieval | 장기 보관을 위한 저비용 스토리지로 이동 |
| 365일 | Glacier Deep Archive | 거의 조회하지 않는 데이터를 가장 저렴한 비용으로 장기 보관 |
즉, 객체는 생성된 이후 시간이 지날수록 비용이 저렴한 스토리지 클래스로 자동 이동하며, 운영자는 별도의 작업 없이 스토리지 비용을 최적화할 수 있습니다.
7-2) 이전 버전(Noncurrent Version) 전환

현재 설정에서는 객체가 이전 버전으로 변경된 후 90일이 지나면 Glacier Flexible Retrieval로 자동 이동하도록 구성되어 있습니다.
예를 들어 report.pdf를 수정하면 기존 파일은 이전 버전으로 남게 되며, 90일이 지나면 Glacier Flexible Retrieval로 이동하여 저장 비용을 절감합니다.
이 기능은 이전 버전을 일정 기간 보관해야 하지만 자주 조회하지 않는 환경에서 효과적으로 사용할 수 있습니다.
8. 마치며
S3 Lifecycle은 단순히 오래된 파일을 삭제하는 기능이 아니라 데이터의 생명주기를 자동으로 관리하는 기능입니다.
데이터의 사용 빈도에 따라 적절한 스토리지 클래스로 이동시키고, 일정 기간이 지나면 자동 삭제하도록 설정하면 운영자의 관리 부담을 줄이는 동시에 스토리지 비용도 절감할 수 있습니다.
실무에서는 로그 파일, 백업 데이터, 원본 데이터와 같이 시간이 지날수록 조회 빈도가 낮아지는 데이터를 대상으로 Lifecycle 정책을 적용하는 경우가 많습니다. S3를 운영한다면 Lifecycle 기능을 함께 활용하여 효율적인 데이터 관리 환경을 구성해 보는 것을 추천합니다.
'Data Engineering > AWS' 카테고리의 다른 글
| AWS EFS란? (0) | 2026.06.26 |
|---|---|
| AWS EBS란? (0) | 2026.06.26 |
| AWS S3 보안 정리 - SSE, CSE, SSL/TLS 이해하기 (0) | 2026.06.25 |
| AWS Glue란? (0) | 2026.06.23 |
| Data Mesh란? (0) | 2026.06.23 |