본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

소프트웨어개발

S3 Inventory에 최근 파일이 없을 때: 첫 보고서와 현재 상태 구분

by 아빠띠띠뽀 2026. 10. 29.

S3 Inventory는 실시간 객체 목록이 아니라 일별·주간으로 만드는 보고서입니다. 첫 보고서는 전달까지 최대 48시간이 걸릴 수 있으며 최근 추가·삭제가 보고서에 반영되지 않을 수도 있으므로, 파일 유실로 단정하기 전에 보고서 시점과 범위를 확인하세요.

적용 환경: Amazon S3 일반 목적 버킷의 기존 Inventory 구성과 보고서; 원본 객체·보고서 조회 권한 필요. 자료 확인일: 2026-10-28. 문서 기반 진단 안내이며 실제 AWS 계정의 설정·생성 시간 시험을 수행한 결과가 아닙니다.

1. 원인: 보고서에 없는 것과 현재 없는 것은 다르다

Inventory는 지정한 버킷 또는 키 접두사의 객체·메타데이터를 일정에 따라 내보냅니다. AWS는 각 보고서가 버킷 항목의 스냅샷이며 최근 PUT·덮어쓰기·DELETE가 모두 반영된다고 보장하지 않는다고 설명합니다. 보고서의 한 행이 없다는 이유만으로 업로드 실패나 데이터 삭제로 결론내리지 않습니다.

별도의 문제로 보고서 자체가 아직 전달되지 않았을 수 있습니다. 최초 보고서 전달에 최대 48시간이 걸릴 수 있다는 조건과, 이미 있는 보고서에 특정 객체가 없다는 증상을 먼저 나누세요. 시간이 지났다는 이유만으로 권한 오류까지 정상 대기로 처리하지는 않습니다.

2. 해결: 시점·접두사·버전 범위를 순서대로 확인

관찰 먼저 확인할 항목
첫 보고서 자체가 없음 구성 생성 시각과 실제 전달 여부
최근 올린 키만 안 보임 보고서 생성 시점과 대상 접두사
과거 버전이 안 보임 현재 버전만/모든 버전 설정
다른 보고서를 읽음 원본 버킷·구성 ID·전달 경로

원본 버킷, Inventory 구성 ID, 보고서 생성 시각, 전달 대상 버킷·경로를 한 줄에 기록합니다. 다운로드한 파일을 열었다는 사실만으로 최신 구성을 읽었다고 가정하지 마세요. 여러 구성이 같은 전달 버킷을 사용할 수 있어 원본과 구성 식별자가 중요합니다.

접두사 필터는 파일 이름의 시작 문자열입니다. 예를 들어 images/만 대상으로 삼은 구성에서 logs/ 객체를 찾으면 보고서가 최신이어도 나타나지 않습니다. 버전 관리 버킷은 현재 버전만 포함하도록 설정했는지, 모든 버전을 포함하는지도 대조하세요. 보고서에서 기대한 필드를 내보내도록 선택했는지 역시 확인합니다.

3. 확인: 작업 직전에는 실제 객체 속성을 대조

AWS는 객체에 조치하기 전에 HeadObject 또는 S3 콘솔의 객체 속성으로 현재 상태를 확인하도록 권고합니다. 같은 버킷·키·필요한 버전을 대상으로 마지막 수정 시각 등 메타데이터를 읽고, 보고서가 다룬 시점과 비교하세요. 이 확인은 다운로드나 삭제를 요구하지 않습니다.

대량 분석에는 Inventory가 유용하지만 단일 최신 객체의 존재 여부를 급히 판정하는 목적과 다릅니다. 목적에 맞는 조회 방식을 선택하고 요청·보고서 저장·분석 비용을 검토합니다. 보고서가 늦다는 이유로 중복 구성을 계속 만들거나 매번 전체 객체를 다운로드할 필요는 없습니다.

4. 주의와 FAQ

Daily면 매일 한국시간 같은 시각에 도착하나요? 정확한 한국시간 도착을 이 설정으로 약속할 수는 없습니다. 실제 생성·전달 시각을 기록하세요. 주간 구성은 첫 보고서 이후 UTC 일요일에 생성된다는 공식 기준도 한국 날짜와 구분합니다.

48시간이 지나도 없으면 구성을 삭제할까요? 먼저 활성 상태·전달 버킷·쓰기 권한·암호화 구성을 담당자와 확인하세요. 전달 대상은 같은 리전이어야 합니다. 권한 확대·암호화 해제·구성 삭제를 기본 해결책으로 삼지 않습니다.

보고서가 저장돼 있으면 객체 복구도 가능한가요? Inventory는 객체 목록과 메타데이터이며 원본 본문 백업이 아닙니다. 복구용 데이터 보관 여부는 별도로 확인해야 합니다.

공식 출처와 관련 글

S3 Inventory 주기·첫 보고서·일관성

S3 Inventory 범위와 전달 대상 구성

S3 현재·비현재 버전과 삭제 마커 구분

 

S3 만료 후 용량이 남는 이유: 삭제 마커와 비현재 버전 구분

버전 관리가 켜진 S3 버킷에서는 현재 객체를 만료시켜도 이전 데이터 버전이 남을 수 있습니다. 목록에서 사라졌다는 사실과 저장 데이터가 영구 삭제됐다는 사실을 구분해야 합니다.적용 환경

papa-titipo.com

자료 목록과 기록 시점을 대조하는 개념 그림
직접 생성한 개념 이미지입니다. 실제 서비스 화면이나 구축·성능 시험 결과가 아닙니다.