S3 스토리지 클래스 비교: Standard부터 Glacier Deep Archive까지

5 분 소요

S3 요금 절감의 첫 번째 레버는 스토리지 클래스입니다. Standard와 Deep Archive의 보관 단가는 23배 차이가 나므로, 데이터를 어느 클래스에 두느냐가 버킷 요금의 대부분을 결정합니다. 그런데 싼 클래스에는 회수 수수료와 최소 보관 기간이라는 반대 방향 조건이 붙어 있어서, 무턱대고 옮기면 오히려 비싸집니다. 결론을 먼저 적으면, 접근 패턴을 아는 데이터는 수명주기 규칙으로 계단식 배치를 하고, 모르는 데이터는 Intelligent-Tiering에 맡깁니다. S3 기본 사용법은 AWS 중급 #3에서 다뤘습니다. 요금은 us-east-1 기준입니다.

전체 지도: 단가와 조건을 같이 봅니다 #

클래스보관(GB·월)회수(GB당)최소 보관접근 속도
Standard약 $0.023없음없음즉시
Intelligent-Tiering계층별 자동없음없음즉시
Standard-IA약 $0.0125약 $0.0130일즉시
One Zone-IA약 $0.01약 $0.0130일즉시
Glacier Instant Retrieval약 $0.004약 $0.0390일즉시
Glacier Flexible Retrieval약 $0.0036무료〜약 $0.0390일수분〜수시간
Glacier Deep Archive약 $0.00099약 $0.0025〜0.02180일12〜48시간

읽는 법은 하나입니다. 왼쪽 아래로 갈수록 보관은 싸지고, 꺼내는 일은 비싸지거나 느려집니다. 그러니 선택 기준은 “얼마나 오래 두나"가 아니라 “얼마나 자주, 얼마나 급하게 꺼내나"입니다.

Standard-IA의 세 가지 함정 #

Standard-IA는 보관 단가가 Standard의 절반쯤이라 가장 먼저 눈에 들어오는 절감 대상입니다. 다만 조건 세 개를 같이 계산해야 합니다.

  • 회수 수수료: 꺼낼 때 GB당 약 $0.01이 붙습니다. 한 달에 전체 데이터의 상당 부분을 다시 읽는 패턴이면, 아낀 보관료를 회수 수수료가 넘어섭니다. 경계는 대략 월 1회 미만 접근입니다.
  • 최소 보관 30일: 30일 전에 지우거나 옮겨도 30일치가 청구됩니다. 수명이 짧은 임시 파일을 IA로 보내는 수명주기 규칙은 손해입니다.
  • 최소 과금 크기 128KB: 128KB 미만 객체도 128KB로 계산됩니다. 소형 객체 수백만 개짜리 버킷이라면 IA 전환의 실제 절감이 표보다 훨씬 작습니다.

One Zone-IA는 여기서 단일 AZ 조건이 더해집니다. AZ 장애 시 데이터가 사라질 수 있으므로, 재생성 가능한 파생 데이터(썸네일, 캐시, 재빌드 가능한 산출물)에만 씁니다.

Glacier 세 클래스: 이름은 같아도 성격이 다릅니다 #

  • Glacier Instant Retrieval: 이름과 달리 접근이 밀리초 단위 즉시입니다. 보관은 IA의 3분의 1인데 회수는 GB당 약 $0.03으로 IA의 3배입니다. 분기에 한 번쯤 꺼내는 백업, 오래된 로그, 원본 미디어가 대상입니다.
  • Glacier Flexible Retrieval: 즉시 접근이 안 되고 복원 요청을 거칩니다. 표준 복원이 몇 시간, 벌크 복원은 반나절쯤 걸리는 대신 회수가 무료입니다. “꺼낼 일이 거의 없지만 꺼낼 때 하루는 기다릴 수 있다"는 데이터용입니다.
  • Glacier Deep Archive: GB·월 약 $0.00099로 가장 쌉니다. 복원이 표준 12시간, 벌크 48시간이고 최소 보관이 180일입니다. 규제 보관(감사 로그, 의료·금융 기록)처럼 꺼낼 일이 사실상 없는 데이터의 종착지입니다.

셋 다 최소 과금 크기(128KB)와 최소 보관(90일 또는 180일)이 있으므로, 소형·단명 객체는 보내지 않습니다.

Intelligent-Tiering: 패턴을 모르면 이것이 정답입니다 #

Intelligent-Tiering은 객체별 접근을 감시해서 30일 미접근이면 IA 단가 계층으로, 90일 미접근이면 Glacier Instant 단가 계층으로 자동으로 내리고, 다시 접근하면 즉시 원래 계층으로 올립니다. 중요한 특징은 회수 수수료와 계층 이동 요금이 없다는 것입니다. IA의 함정 첫 번째가 통째로 사라집니다.

대가는 모니터링 요금(1,000객체당 월 $0.0025)입니다. 그래서 어긋나는 조건도 명확합니다. 객체가 작고 수가 많으면 모니터링 요금이 절감을 잠식하고, 128KB 미만 객체는 아예 감시 대상에서 빠져 항상 Standard 단가로 남습니다. 반대로 수백KB 이상 객체가 수만〜수백만 개 있고 어떤 것이 언제 읽힐지 모르는 버킷(사용자 업로드, 데이터 레이크)이라면, 분석 없이 켜 두는 것만으로 요금이 내려갑니다. 패턴을 아는 데이터까지 Intelligent-Tiering에 두는 것은 모니터링 요금만 낭비이므로, 그 경우는 수명주기 규칙이 맞습니다.

수명주기 규칙 실무: 전환에도 요금이 붙습니다 #

접근 패턴을 아는 데이터의 정석은 수명주기 계단입니다. 예를 들어 로그라면 Standard 30일 → Standard-IA 90일 → Glacier Flexible 1년 → 만료 같은 식입니다. 두 가지를 계산에 넣습니다.

  • 전환 요청 요금: 클래스 이동은 건당 과금이라 1,000건당 $0.01〜0.05가 붙습니다. GB 단가 절감은 객체 크기에 비례하는데 전환 요금은 개수에 비례하므로, 소형 객체 수백만 개를 옮기면 전환 요금이 몇 달치 절감을 앞서 나갑니다. 이런 버킷은 옮기기 전에 객체를 묶어 크기를 키우거나(로그 집계), 만료만 걸고 전환은 포기하는 쪽이 쌉니다.
  • 판단 근거는 실측: 어떤 프리픽스가 얼마나 읽히는지는 Storage Class Analysis나 Storage Lens로 확인하고, 규칙은 프리픽스 단위로 겁니다. 버킷 전체에 일괄 규칙을 걸었다가 자주 읽는 데이터까지 IA로 내려가는 것이 흔한 실패 유형입니다.

전환 없이 남아 있는 옛 데이터, 미완료 멀티파트 업로드, 옛 버전 정리는 상시 점검 목록과 겹치는 작업입니다.

정리 #

  • 클래스 선택 기준은 보관 기간이 아니라 접근 빈도·긴급도입니다. 보관이 싸질수록 회수가 비싸지거나 느려집니다.
  • Standard-IA는 회수 수수료, 최소 보관 30일, 최소 과금 128KB 세 조건을 같이 계산합니다. 월 1회 이상 읽는 데이터는 Standard에 둡니다.
  • Glacier는 셋으로 나뉩니다. 즉시 접근이 필요하면 Instant Retrieval, 반나절 기다릴 수 있으면 Flexible, 사실상 안 꺼내는 규제 보관은 Deep Archive입니다.
  • 접근 패턴을 모르면 Intelligent-Tiering이 기본값입니다. 회수 수수료 없이 자동 계층 이동을 하고, 대가는 객체당 모니터링 요금입니다.
  • 수명주기 전환은 개수 비례 요금이 붙습니다. 소형 객체 대량 버킷은 전환보다 집계·만료가 먼저입니다.
X