데이터에는 온도가 있다. 방금 업로드된 로그 파일은 뜨겁다(Hot). 30일이 지난 로그는 가끔 분석에 쓰인다(Warm). 1년 이상 된 로그는 규제 감사 때나 볼까 말까 한다(Cold). 그리고 5년이 지난 로그는 법적 의무로만 보관하는 Ice 단계다.
S3의 8가지 스토리지 클래스는 이 온도 스펙트럼에 대응하는 비용·가용성·검색 시간의 트레이드오프 설계다. 잘못된 클래스 선택은 조용히 비용을 먹는다. 뜨거운 데이터를 Glacier에 넣으면 검색 비용이 과도하게 발생하고, 차가운 데이터를 Standard에 두면 저장 비용을 낭비한다. 이 글에서는 각 클래스의 내부 설계 원리, 비용 구조의 함정, 수명 주기 정책의 최적 설계 패턴을 다룬다.
S3 스토리지 클래스의 가격 구조는 세 가지 비용 차원으로 이루어진다.
저장 비용(Storage cost): GB당 월 비용. Cold 클래스일수록 낮다.
요청 비용(Request cost): API 호출당 비용. Standard보다 Glacier 계열이 GET 요청 비용이 높다.
검색 비용(Retrieval cost): 데이터를 꺼낼 때 드는 추가 비용. Glacier 계열에서 발생하며, 빠를수록 비싸다.
여기에 **최소 보관 기간(Minimum storage duration)**과 **최소 객체 크기(Minimum billable object size)**가 추가 함정이다.