실무를 하다보면 S3에서 파일을 지웠는데 저장 비용이 좀처럼 줄지 않는 상황을 이 글을 읽는 여러분도 종종 겪을 수 있습니다. 객체 목록은 비어 있는데 청구 내역에는 금액이 있다면, 먼저 삭제가 어떤 상태를 만들었는지 살펴볼 차례입니다. 이 글은 버전 관리가 활성화된 일반 목적 버킷을 기준으로 현재 버전·이전 버전·삭제 마커를 구분합니다.

목록에서 사라진 파일과 남아 있는 버전
버전 관리는 같은 객체 키에 여러 버전을 보관하는 기능입니다. 버전 ID를 지정하지 않고 삭제하면 S3는 삭제 마커를 현재 버전으로 추가하고, 삭제 직전의 데이터는 이전 버전으로 남깁니다. 일반 목록에서 파일이 사라졌다는 사실만으로 저장 데이터까지 없어졌다고 판단하기 어려운 이유입니다.
가령 같은 키에 100MB 파일을 두 번 올린 뒤 일반 삭제한 경우를 생각해 보겠습니다. 두 데이터 버전의 크기가 각각 100MB라면, 남아 있는 데이터는 합계 200MB이며 삭제 마커도 별도로 존재합니다. 이는 설명용 예시이며, 이전 버전에도 일반 S3 요금이 적용된다는 점이 비용 확인의 출발점입니다.
요약: 삭제 후에는 화면에 보이는 파일 수보다 남은 데이터 버전을 먼저 확인합니다.
삭제 마커와 이전 버전의 비용 구분
삭제 마커에는 파일 본문이 없습니다. 다만 객체 키 이름의 UTF-8 바이트 크기만큼 저장 공간을 사용하고 S3 Standard 요금으로 과금됩니다. 삭제 마커의 과금 기준을 보면, 대용량 파일이 그대로 남아 발생하는 비용과 작은 표식이 차지하는 비용을 구분할 수 있습니다.
확인은 해당 버킷의 객체 화면에서 버전 표시를 켜고, 삭제한 객체 키를 찾는 순서로 진행합니다. 삭제 마커와 데이터 버전의 ID, 크기, 수정 시각, 스토리지 클래스를 함께 기록합니다. 마커가 많다는 이유만으로 비용의 주원인이라고 결론내리지 말고, 데이터 버전의 용량을 먼저 대조하는 편이 합리적입니다.
요약: 삭제 마커의 개수와 이전 버전의 저장 용량은 서로 다른 판단 항목입니다.

용량 지표와 청구 내역을 맞추는 순서
버킷 전체는 S3 Storage Lens 지표로 살펴봅니다. Current version bytes, Noncurrent version bytes, Delete marker bytes를 나누어 확인하고, 삭제 전후의 측정 날짜를 기록합니다. 무료 지표는 일 단위로 수집되므로 방금 삭제한 결과가 곧바로 표시된다고 기대해서는 안 됩니다.
다음에는 청구 화면에서 Amazon S3 비용을 같은 기간으로 맞추고 리전과 사용 유형을 나누어 확인합니다. 용량은 특정 시점의 상태이고, 월 누적 비용에는 삭제 전 사용분도 들어 있으므로 두 숫자가 동시에 줄어야 하는 것은 아닙니다. 이전 버전은 줄었는데 총비용이 유지된다면 요청·데이터 전송 등 저장 외 항목이 있는지 구분해 봅니다.
정확한 금액은 남은 데이터의 스토리지 클래스, 리전, 보관 기간에 따라 달라집니다. S3 요금표에는 일부 클래스의 최소 보관 기간과 조기 삭제 과금도 명시되어 있습니다. 예를 들어 Standard-IA는 최소 30일이 적용되므로, 영구 삭제했다고 관련 비용이 즉시 모두 사라진다고 계산하면 오차가 생깁니다.
요약: 측정 날짜를 맞춘 용량 변화와 사용 유형별 비용 변화를 각각 대조합니다.

복구 기간에 맞춘 이전 버전 정리
반복 정리는 현재 버전 만료와 이전 버전 영구 삭제를 분리해서 설계합니다. 활성화된 버킷에서 현재 버전 만료만 설정하면 데이터가 이전 버전으로 남을 수 있습니다. NoncurrentVersionExpiration은 이전 버전을 영구 삭제하는 동작이며, 기간의 출발점은 최초 업로드일이 아니라 이전 버전이 된 시점입니다.
보존할 최신 이전 버전 수까지 지정했다면 경과 일수와 버전 수 조건을 모두 충족해야 삭제 대상이 됩니다. 따라서 설정한 일수만 보고 정리가 끝났다고 판단하지 말고, 규칙의 대상 접두사·활성화 여부·버전 보존 조건도 함께 확인합니다. 업무상 필요한 복구 기간을 먼저 정하고 정리 범위를 좁혀 적용하는 방식이 적절합니다.
요약: 비용 절감 기준을 정하기 전에 어느 시점까지 복구할지 먼저 결정합니다.
자주 묻는 질문
삭제 마커만 지우면 저장 비용이 크게 줄어드나요?
남아 있는 대용량 데이터 버전은 그대로이므로 그렇게 단정할 수 없습니다. 현재 삭제 마커를 제거하면 남은 최신 데이터 버전이 다시 조회될 수 있어, 파일을 계속 숨겨 둘 목적이라면 조치의 의미부터 확인해야 합니다.
이전 버전을 영구 삭제하면 되돌릴 수 있나요?
S3에서 영구 삭제한 해당 버전은 복구할 수 없습니다. 별도 백업이나 복제본의 존재를 확인하지 않은 상태에서 복구 가능성을 전제해서는 안 됩니다.
이전 버전이 줄었는데 총 저장 용량이 남는 이유는 무엇인가요?
Storage Lens의 총 저장 용량에는 미완료 멀티파트 업로드, 메타데이터, 삭제 마커도 포함됩니다. 이전 버전 지표만으로 설명되지 않는 용량이 있으면 이런 항목을 나누어 확인합니다.
결론
S3 삭제 후 비용 점검은 버전 목록 확인 → 용량 지표 비교 → 사용 유형별 청구 대조 순서로 진행하면 판단하기 수월합니다. 이전 버전이 원인이라면 복구 기간에 맞춰 정리 정책을 검토하고, 다른 비용 항목이 남았다면 그 항목을 따로 추적합니다. 삭제 완료의 기준도 일반 목록에서 사라졌는지가 아니라 보존 대상과 정리 대상이 의도대로 구분됐는지로 잡는 편이 좋습니다.