Amazon S3에서 삭제된 객체가 계속 나타나는 이유는 무엇입니까?

최종 업데이트 날짜: 2019년 12월 17일

Amazon Simple Storage Service(Amazon S3) 버킷에서 객체 몇 개를 삭제했습니다. Amazon S3에서 삭제된 객체가 계속 나타나는 이유는 무엇입니까?

​해결 방법

Amazon S3는 모든 AWS 리전에서 DELETES에 대한 최종 일관성을 제공합니다. 또한 Amazon S3는 다양한 서버 전반에서 데이터를 복제합니다. 즉, 객체를 삭제하더라도 해당 삭제 내역이 모든 서버로 복제되기까지 다소 시간이 걸릴 수 있습니다. 삭제 직후에 객체를 읽으려고 하면 Amazon S3가 해당 객체를 반환하는 것을 확인할 수 있습니다. 또는 객체 중 하나를 삭제한 직후 버킷의 객체들을 나열하면 Amazon S3에서 삭제된 객체가 나타날 수 있습니다.

참고: 객체를 삭제하고 동일한 이름을 사용하여 새로운 객체를 업로드하려는 경우, 새 객체를 업로드하기 전에 수행한 PUT 요청은 최종적으로 일관된 응답을 받게 됩니다.

삭제한 후에도 객체가 계속 보이면 다음 방법 중 하나를 사용하여 객체에 대한 삭제가 진행되고 있는지 확인할 수 있습니다.

  • AWS 명령줄 인터페이스(AWS CLI)에서 디버그 옵션을 활성화합니다. 그런 다음, AWS CLI를 사용하여 head-object 명령을 실행합니다. head-object 명령의 응답에 DeleteMarker 헤더가 포함되어 있을 경우, 이는 해당 객체가 삭제되었음을 의미합니다. 응답에 DeleteMarker 헤더가 포함되어 있지 않다면 객체가 삭제되지 않은 것입니다.
  • AWS SDK를 사용하여 HeadObject API 호출을 전송합니다. 응답의 x-amz-delete-marker 필드가 true라면 객체가 삭제된 것입니다. x-amz-delete-marker 값이 false라면 객체가 삭제되지 않은 것입니다.

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?