본문 바로가기

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

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

소프트웨어개발

S3 Batch Operations가 Complete인데 실패 객체가 남을 때: 완료 보고서 확인

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

S3 Batch Operations의 Complete는 작업 실행이 끝났다는 상태이며 모든 객체 작업이 성공했다는 보장은 아닙니다. 객체별 성공·실패를 완료 보고서와 작업 세부 정보에서 확인한 뒤 후속 작업 대상을 정하세요.

적용 환경: 기존 Amazon S3 Batch Operations 작업과 완료 보고서; 작업·manifest·보고서 읽기 권한 필요, 새 작업 실행이나 객체 변경은 다루지 않음. 자료 확인일: 2026-10-29. 공식 문서 기반 안내이며 실제 계정·운영 환경에서 실행한 시험 결과가 아닙니다.

1. 원인: 작업의 종료와 객체별 결과는 다르다

S3 Batch Operations는 manifest에 지정한 객체마다 태스크를 수행합니다. AWS의 상태 정의에 따르면 Complete에 도달한 작업에서도 객체별 동작은 성공하거나 실패했을 수 있습니다. 진행 막대가 끝난 화면만 캡처하면 이 구분이 빠집니다.

보고서의 대상 범위도 중요합니다. 완료 보고서는 전체 태스크 또는 실패한 태스크만 포함하도록 요청할 수 있습니다. 파일의 행 수를 작업 전체 객체 수로 사용하기 전에 어떤 범위의 보고서인지 확인해야 합니다.

2. 해결: 같은 작업의 설정과 보고서를 연결

확인 대상 남길 기록
작업 ID·동작 복사·태그 등 실제 수행 작업
입력 manifest 대상 버킷·키·버전 범위
보고서 설정 전체 태스크인지 실패만인지
실패 항목 키·VersionId·ErrorCode·설명

작업 세부 정보의 ID와 보고서 경로가 같은 작업을 가리키는지 확인합니다. 완료 보고서의 최상위 manifest.json은 성공/실패 결과 파일의 위치와 스키마를 연결하므로, 개별 CSV 하나만 열어 전체 결과로 단정하지 마세요. 보고서에 VersionId가 있다면 키 이름만으로 대상을 합치지 않습니다.

실패 원인은 권한·존재하지 않는 대상 등 실제 오류 코드와 설명으로 나누어 기록합니다. 여기서 권한 범위를 무작정 넓히거나 manifest 전체를 새 작업에 다시 제출하지 않습니다. 성공한 객체와 실패한 객체를 섞어 재실행하면 동작과 비용을 반복할 수 있습니다.

3. 확인: 종료 결과와 업무상 목표를 함께 대조

복사 작업이라면 성공 태스크 수와 필요한 대상의 현재 메타데이터 확인을 구분하고, 다른 동작이라면 그 동작의 정상 결과를 정합니다. Complete라는 상태만으로 애플리케이션 전환이나 백업 복구 시험까지 완료됐다고 보고하지 마세요. 실제 성공 수·실패 수·검토한 보고서 범위를 결과 기록에 함께 남깁니다.

작업은 manifest 순서대로 실행된다고 보장되지 않습니다. 앞쪽 객체가 처리됐으니 뒷쪽도 같은 결과였을 것이라고 추정하지 않습니다. 후속 작업은 실패 원인을 고친 뒤 대상·권한·중복 영향·요금을 검토한 별도 실행으로 진행합니다.

4. 주의와 FAQ

완료 보고서를 설정하지 않았다면 실패가 없나요? 아닙니다. 보고서 미설정과 성공은 다른 사실입니다. 작업 세부 정보 및 기존 감사·모니터링 근거를 조사하고 증거가 없으면 미확인으로 남기세요.

어떤 종료 작업이든 보고서가 반드시 있나요? 보고서 요청 여부와 태스크 호출 조건을 확인해야 합니다. 공식 문서는 최소 한 태스크가 성공적으로 호출된 경우의 보고서 생성을 설명합니다. 객체 동작 성공과 태스크 호출을 혼동하지 마세요.

공식 출처와 관련 글

S3 Batch Operations 상태와 완료 보고서

완료 보고서 manifest와 객체별 필드

S3 복제와 과거 시점 복구의 검증 목표

개별 자료 처리 경로와 서버 쪽 결과를 나누어 살피는 개념 그림
직접 생성한 개념 이미지입니다. 실제 서비스 화면이나 구축·성능 시험 결과가 아닙니다.