[기술 지원 인사이트 ]AWS S3 객체가 없는데 metrics에서는 확인되는 경우(feat.Multipart uploads)

Q. S3 bucket에 객체가 없는데, metrics에서는 있는 것으로 확인돼서 비용이 발생하고 있습니다. 왜 이러는 건가요? 

처음에는 버저닝을 사용하고 있는데, 지난 버전의 데이터가 남아있는건 아닌가 생각되었으나 고객사는 버저닝을 사용하고 있지 않았습니다.

스크린샷, 텍스트이(가) 표시된 사진

자동 생성된 설명

스크린샷, 텍스트이(가) 표시된 사진

자동 생성된 설명 

불완전한 멀티파트 업로드(multipart uploads)로 인해 생성된 파일들에 대한 삭제가 이루어 지지 않아 해당 문제가 발생하였습니다. 


# 멀티파트 업로드는 무엇일까요? 


Amazon S3의 멀티파트 업로드 기능을 사용하면 단일 객체를 S3 버킷에 여러 부분으로 업로드하여 처리량 향상 및 네트워크 문제의 빠른 복구와 같은 이점을 얻을 수 있습니다.  일반적으로 객체 크기가 100MB에 도달하면 단일 작업으로 객체를 업로드하는 대신 멀티파트 업로드 사용을 고려해야 합니다.  크기가 5MB~5TB인 객체에 대해 멀티파트 업로드를 사용할 수 있습니다.  


# 불완전한 멀티파트 업로드는 어떤 상황에 발생할까요? 


전체 멀티파트 업로드 요청이 성공적으로 전송되지 않으면 Amazon S3는 해당 부분을 객체로 생성하지 않습니다. 
또한, 멀티파트 업로드가 완료되거나 중단될 때까지 Amazon S3 버킷에 남아 있으며 비용이 지불됩니다. 

 

# 불완전한 멀티파트 업로드를 확인하는 방법은? 


CLI에서 [aws s3api list-multipart-uploads --bucket BUCKET_NAME] 명령어를 통해 확인이 가능하며, 해당 데이터는 S3 콘솔상으로는 확인이 되지 않으나 스토리지 비용에 포함됩니다.  이를 콘솔에서 확인하려면 S3 Storage Lens를 통해 확인이 가능합니다. 

 

# 문제가 되는 상황 


고객은 버킷 수명 주기(Lifecycle)을 이용하여 객체를 삭제하고 있었습니다. 그런데 이 삭제 대상에 불완전한 멀티파트 업로드 데이터가 포함되어 있지 않았습니다. 

 

# 불완전한 멀티파트 업로드의 관리는 어떻게 할까요?


불완전한 멀티파트 업로드를 삭제하는 방법은 아래와 같습니다. 

단, Amazon S3 Storage Lens는 대시보드를 구성하고 데이터가 활성화되기까지 최대 48시간이 소요됩니다.  


  1. Amazon S3 Storage Lens를 사용하여 불완전한 멀티파트 업로드를 검색
  2. 링크를 참조하여 불완전한 멀티파트 업로드를 삭제하도록 버킷 수명 주기 구성 설정
  3. Amazon S3 Storage Lens를 사용하여 삭제된 것을 확인

 

# 마치며 

많은 분들이 멀티파트 업로드를 사용하고 있는데, 위와 같은 부분을 고려하여 사용한다면 더욱 비용 효율적으로 사용할 수 있을 것입니다. 



🔗 참고링크






 


- Technical Engineering Team 정혜원










'기술 지원 인사이트'의 내용은 클라우드메이트의 Mate365에서 발최한 내용입니다.
Mate365는 기술지원 서비스 솔루션으로 고객에게 빠르고 정확한 해답을 제공하기 위해 개발 되었습니다. 지금까지 올라온 고객의 30,000여개의 티켓을 다양한 오픈소스 및 클라우드 기술을 보유한 전문가가 실시간 기술지원을 제공하고 있으며, 개발자 출신의 엔지니어들이 고객의 관점에서 문제를 해결하고 있습니다. 

365일 기술지원 서비스, Mate365 바로가기