
목차
AWS를 사용하다 보면 예상치 못한 S3 요금에 놀랄 때가 있습니다. 특히 저렴하다고 생각했던 Glacier 스토리지에서 '조기 삭제 수수료(Early Deletion Fee)'가 발생하면 당황스럽죠. 이 비용은 데이터를 최소 보관 기간보다 일찍 삭제, 덮어쓰기, 또는 다른 스토리지 클래스로 옮길 때 발생하는 일종의 '위약금'입니다.
이번 포스트에서는 AWS S3 Glacier의 조기 삭제 수수료가 발생하는 원인부터 계산 방법, 그리고 이를 피하기 위한 전략까지 총정리해 드립니다. 더 이상 예상치 못한 요금 폭탄은 그만! 이 글 하나로 Glacier 비용 관리를 마스터해 보세요.
함께 읽으면 좋은 글
1. Glacier 스토리지 클래스별 최소 보관일 알아보기
조기 삭제 수수료를 이해하려면 먼저 각 스토리지 클래스의 최소 보관일(Minimum Storage Duration)을 알아야 합니다. 이 기간을 채우지 못하면 비용이 발생합니다.
⚠️ 주의: 아래 내용은 대표값이며, 실제 요금 및 정책은 리전, 계층, 옵션에 따라 달라질 수 있습니다.
스토리지 클래스 | 접근 특성 | 최소 보관일 | 비고 |
---|---|---|---|
Glacier Instant Retrieval (GIR) | 밀리초 액세스 (복원 불필요) | 90일 | 작은 객체는 최소 128KB로 과금됩니다. (S3 요금 정책) |
Glacier Flexible Retrieval (GFR) | 복원 필요 (Expedited/Standard/Bulk) | 90일 | 객체당 메타데이터 오버헤드 40KB가 발생합니다. (AWS 공식 문서) |
Glacier Deep Archive (GDA) | 복원 필요 (Standard/Bulk) | 180일 | 저장 단가가 가장 저렴하여 장기 보관에 적합합니다. (AWS 공식 문서) |
참고: Standard-IA / One Zone-IA | 즉시 액세스 (복원 불필요) | 30일 | 128KB 미만 객체는 128KB로 과금되며, 라이프사이클 전환은 최소 30일 이후부터 가능합니다. (AWS 공식 문서) |
핵심은 Glacier 계열의 데이터를 최소 보관일 내에 삭제, 덮어쓰기, 또는 다른 클래스로 전환하면 조기 삭제 수수료가 발생한다는 점입니다.
2. 조기 삭제 수수료, 어떻게 계산될까?
조기 삭제 수수료는 생각보다 간단한 원리로 계산됩니다. 쉽게 말해, "남은 보관 기간만큼의 스토리지 요금을 미리 내는 것"입니다.
공식 계산 방식은 다음과 같습니다.
- 일할 요금 (1GB·1일) = 월 스토리지 요금 (1GB) ÷ 30일
- 잔여일수 = 최소 보관일 − 실제 보관일
- 조기 삭제 수수료 = 데이터량 (GB) × 일할 요금 × 잔여일수
계산 예시 (이해를 돕기 위한 가상 시나리오)
- 상황:
ap-northeast-2
리전에서 Glacier Flexible Retrieval(GFR) 요금이 1GB당 월 $0.0045라고 가정하고, 200GB 데이터를 50일만 보관하고 삭제했습니다. - 최소 보관일: GFR은 90일입니다.
- 계산:
- 잔여일수 = 90일 − 50일 = 40일
- 일할 요금 = $0.0045 ÷ 30일 = $0.00015 (1GB당 하루 요금)
- 총 조기 삭제 수수료 = 200GB × $0.00015 × 40일 = $1.2
이처럼, 남은 40일 치의 스토리지 요금이 한 번에 청구되는 원리입니다. (S3 요금 정책 페이지에서 정확한 리전별 요금을 확인하세요.)
3. 나도 모르게 과금되는 경우: 수명주기(Lifecycle) 규칙
많은 경우, S3 수명주기(Lifecycle) 규칙을 잘못 설정하여 조기 삭제 수수료가 발생합니다.
- 만료(Expiration)로 인한 과금:
- IA 클래스 객체를 30일 미만, GFR 객체를 90일 미만으로 만료되도록 설정하면, 남은 최소 보관 기간만큼의 요금이 청구됩니다. 예를 들어 GFR 객체를 60일 뒤 만료되도록 설정하면, 남은 30일 치 요금이 조기 삭제 수수료로 부과됩니다. (객체 만료 관련 문서)
- 전환(Transition)으로 인한 과금:
- 마찬가지로, GFR/GDA 객체를 최소 보관일 이내에 다른 클래스로 전환하면 조기 삭제 수수료가 발생합니다.
- 주의: S3 Standard에서 IA 클래스로의 전환은 객체 생성 후 최소 30일이 지나야만 가능하도록 규칙 자체에 제약이 있습니다. (객체 전환 관련 문서)
- Glacier 클래스 간 전환 제약:
- 수명주기 규칙으로 직접 전환이 가능한 것은 GFR → GDA 뿐입니다. 다른 클래스로 옮기려면 먼저 데이터를 복원(Restore)한 후 복사(Copy)해야 하는 추가 과정과 비용이 발생합니다. (객체 전환 관련 문서)
요약: 수명주기 규칙은 최소 보관일을 무시하지 않습니다. 규칙 실행 시점이 최소 보관일보다 빠르면 어김없이 조기 삭제 수수료가 청구됩니다.
4. 청구서에서 조기 삭제 비용 찾아내기 (과금 코드 읽는 법)
AWS 비용 및 사용 보고서(CUR)에서 조기 삭제 항목을 직접 확인할 수 있습니다. lineItem/UsageType
필드를 주목하세요.
lineItem/ProductCode: AmazonS3
lineItem/Operation: EarlyDelete
lineItem/UsageType: EarlyDelete-GIR # Glacier Instant Retrieval 조기 삭제
lineItem/UsageType: EarlyDelete-GDA # Glacier Deep Archive 조기 삭제
lineItem/UsageType: EarlyDelete-ByteHrs # IA 등 기타 클래스의 조기 삭제 (바이트-시간 단위)
EarlyDelete-GIR
: Glacier Instant Retrieval 객체를 90일 미만 보관 후 삭제/덮어썼을 때 발생합니다.EarlyDelete-GDA
: Glacier Deep Archive 객체를 180일 미만 보관 후 삭제/덮어썼을 때 발생합니다.EarlyDelete-ByteHrs
: Standard-IA, One Zone-IA 등 30일 최소 보관이 적용되는 클래스의 조기 삭제 시 발생합니다.
이 코드를 발견했다면, 어떤 스토리지 클래스에서 문제가 발생했는지 추적하고 관련 수명주기 규칙을 검토해야 합니다. (AWS 사용 보고서 이해하기)
5. 복원 시간 및 비용: 운영 체크리스트
Glacier는 저렴한 대신 데이터를 다시 꺼낼 때 시간과 비용이 듭니다. 각 클래스별 복원 특성을 미리 알아두는 것이 중요합니다.
- Instant Retrieval (GIR): 복원 과정이 없으며, 밀리초 단위로 즉시 접근 가능합니다. (단, 데이터 요청 및 전송 요금은 별도)
- Flexible Retrieval (GFR):
- Expedited (신속): 보통 1–5분 소요
- Standard (표준): 보통 3–5시간 소요
- Bulk (대량): 보통 5–12시간 소요 (대량 데이터 검색 요청 자체는 무료)
- Deep Archive (GDA):
- Standard (표준): 보통 12시간 이내 소요
- Bulk (대량): 보통 48시간 이내 소요
운영 체크리스트
- 대량 복원 전, 데이터 범위와 필요한 복원 속도(Expedited/Standard/Bulk)를 명확히 하세요.
- 임시 복사본이 저장되는 보관일(restore days)을 최소화하여 추가 스토리지 비용을 절약하세요.
- 데이터 요청(Request) 및 전송(Data Transfer) 비용을 예산에 포함하세요.
- 대규모 복원이 필요할 경우 S3 Batch Operations를 활용하여 작업을 자동화하고 관리하세요. (Glacier 스토리지 클래스 문서)
6. 조기 삭제 수수료를 피하는 5가지 전략
- 전환/만료 타이밍 정확히 설정하기
- 수명주기 규칙을 설정할 때 각 클래스의 최소 보관일을 반드시 반영하세요.
- GIR/GFR은 90일 이후, GDA는 180일 이후, IA 계열은 30일 이후에 만료 또는 전환되도록 설계해야 합니다.
- 덮어쓰기(Overwrite)도 조기 삭제 대상!
- 같은 이름으로 파일을 덮어쓰는 행위는 내부적으로 '이전 버전 삭제 + 새 버전 생성'으로 처리됩니다. 이전 버전이 최소 보관일을 채우지 못했다면 조기 삭제 수수료가 발생합니다.
- 중요한 데이터는 덮어쓰기 대신 버전 관리(Versioning)를 사용하거나, 새 파일 이름으로 업로드하는 것을 권장합니다.
- 소형 객체는 묶어서 관리하기
- GIR, IA 클래스는 128KB 미만 객체에 128KB 요금을 부과하고, GFR, GDA는 객체당 40KB의 메타데이터 오버헤드가 발생합니다.
- 수많은 작은 파일을 저장해야 한다면, TAR나 ZIP으로 묶어 하나의 큰 파일로 만들어 비용을 최적화할 수 있습니다.
- IA vs Standard-IA 신중하게 선택하기
- 두 클래스 모두 30일 최소 보관, 128KB 최소 과금 정책이 동일합니다.
- Standard-IA는 여러 가용 영역(Multi-AZ)에 데이터를 복제하여 내구성이 높고, One Zone-IA는 단일 AZ에만 저장하여 저렴하지만 해당 AZ에 문제 발생 시 데이터 유실 위험이 있습니다. 워크로드의 중요도에 따라 선택하세요. (S3 스토리지 클래스 소개)
- 접근 패턴이 불확실하다면? Intelligent-Tiering
- 데이터 접근 빈도를 예측하기 어렵다면 S3 Intelligent-Tiering을 사용하는 것이 좋은 대안이 될 수 있습니다.
- 이 클래스는 객체의 접근 패턴을 자동으로 모니터링하여 빈번하게 액세스되면 Standard로, 그렇지 않으면 Infrequent Access 또는 Archive 티어로 자동 이동시켜 비용을 최적화합니다. (모니터링 비용은 별도 발생) (S3 Intelligent-Tiering 소개)
자주 묻는 질문 (FAQ)
- 왜 조기 삭제 요금이 나오나요?
최소 보관일(GFR 90일, GDA 180일 등)을 채우지 않고 데이터를 삭제, 덮어쓰기, 전환하면 남은 기간에 대한 스토리지 요금이 부과됩니다. - 수명주기 규칙으로 자동 만료시켜도 과금되나요?
네. 자동 만료 시점 역시 최소 보관일보다 빠르면 조기 삭제 수수료가 발생합니다. - Standard에서 IA로 하루 만에 전환할 수 있나요?
아니요. IA 계열로의 전환은 객체 생성 후 최소 30일이 지나야만 수명주기 규칙을 통해 가능합니다. - GFR에서 Standard 클래스로 바로 전환할 수 있나요?
아니요. 먼저 데이터를 복원(Restore)한 후, 복원된 임시 객체를 Standard 클래스로 복사(Copy)해야 합니다. - Deep Archive 복원 시간은 얼마나 걸리나요?
일반적으로 표준(Standard) 복원은 약 12시간, 대량(Bulk) 복원은 약 48시간이 소요됩니다. - Instant Retrieval은 왜 복원 과정이 없나요?
GIR은 아카이브 클래스지만 밀리초 단위의 즉시 액세스를 위해 설계되었기 때문입니다. 이름 그대로 '즉시 조회'가 가능합니다. - 10KB짜리 파일 하나를 GIR에 올리면 요금은 어떻게 되나요?
GIR, IA 등 일부 클래스는 최소 128KB로 과금되므로, 10KB 파일이라도 128KB에 해당하는 스토리지 요금이 청구됩니다. - 덮어쓰기도 조기 삭제 수수료가 발생하나요?
네. 덮어쓰기는 기존 객체를 삭제하는 행위로 간주되므로, 최소 보관일을 채우지 못했다면 과금 대상입니다. - 청구서에서 조기 삭제 항목은 어떻게 찾나요?
비용 및 사용 보고서(CUR)의UsageType
필드에서EarlyDelete-GIR
,EarlyDelete-GDA
,EarlyDelete-ByteHrs
같은 항목을 찾아보세요. - Intelligent-Tiering을 쓰면 조기 삭제 수수료가 없나요?
네, Intelligent-Tiering 내에서 티어 간 자동 이동 시에는 조기 삭제나 전환 요청 비용이 발생하지 않습니다. (단, 객체 모니터링 비용이 발생합니다.)
결론: 세 가지만 기억하세요!
AWS S3 Glacier 조기 삭제 수수료는 복잡해 보이지만 핵심은 간단합니다.
- 최소 보관일 준수: GIR/GFR은 90일, GDA는 180일을 기억하고, 이 기간 내 삭제/전환을 피하세요.
- 수명주기 규칙 점검: 설정한 만료 및 전환 기간이 최소 보관일보다 긴지 반드시 확인하세요.
- 비용 코드 확인: 예상치 못한 비용이 발생했다면 청구서의
EarlyDelete-*
코드를 통해 원인을 추적하세요.
이 원칙들만 잘 지킨다면 Glacier를 본래 목적에 맞게, 즉 저렴하고 안정적인 장기 데이터 아카이브 스토리지로 효과적으로 활용할 수 있을 것입니다.
함께 읽으면 좋은 글
출처 (공식 문서 링크)
- S3 요금 정책 및 최소 보관일: Amazon S3 Pricing
- Glacier 스토리지 클래스 상세 정보: S3 Glacier Storage Classes
- S3 수명주기 전환 및 만료 규칙: Transitioning objects using Amazon S3 Lifecycle
- AWS 비용 및 사용 보고서 항목: Understanding your AWS billing and usage reports for S3