새소식

반응형
AWS/S3

AWS 대용량 Bucket 삭제

  • -
반응형

결론부터 말씀드리면, 대용량의 bucket을 삭제할 때는 만료정책을 1일로 걸어서 파일을 모두 삭제 한 이후에 bucket을 삭제하는 방법이 가장 좋습니다. (AWS에서도 이 방법을 추천하였습니다.)

 

 

얼마 전에 2000TB의 대용량 Bucket을 삭제하다가 삭제가 원활하지 못하여, 곤란한 적이 있었습니다.

파일의 개수도 대략 2천만개 이상이여서 엄청나게 삭제 시간이 오래 걸렸습니다.

 

 

 

삭제를 시도한 방법은 2가지 입니다.

  • AWS Console
  • S3 Browser

 

삭제를 시도하면서 발견한 내용은 다음과 같습니다.

 

1. 지울때 1,000건씩 지워지는 것으로 보입니다. ( object )

2. console / S3 Browser에서 Bucket을 삭제 할 경우 console / S3 Browser가 종료될 경우 작업이 종료됩니다. (AWS 에서 답변 받음)

3. Bucket 삭제를 여러명의 사용자가 시도 가능 한데, 이 경우 병렬로 처리되지는 않습니다. (AWS 에서 그럴것이라고 추론함 / 알아봐준다고 하셨습니다.)

    • 예를 들어 3명의 사용자가 삭제를 시도할때 1,000건씩 지우는 것이 3,000건씩 삭제를 하지는 않는것으로 보입니다.

 

결론적으로 위의 방법으로 bucket을 삭제하는 것은 매우 좋지 않은 것으로 보여 여러가지 방법을 찾아보다 다음의 방법이 최선임을 확인하였습니다.

 

Step - 1 

    • Bucket Premissions 의 Bucket Policy에 해당 Bucket에 관리자(자신)를 제외한 모든 접근을 막습니다.
Step - 2
    • Management 의 Lifecycle를 이용하여, 만료정책을 1일로 책정 합니다.
 
이 방법을 사용 할 경우 AWS 내부적인 프로세스에 의해서 삭제가 되므로 console / S3 Browser가 종료되어도 상관 없습니다.
또한 Bucket Policy로 인하여, 이미 다른 사용자에게 접근이 막혀 있으므로, 문제가 될게 없다고 봅니다.
 
이 방법의 차이를 한눈에 볼 수 있는데요. Management의 Metrics 의 Number of Objects를 보면 확실히 차이가 납니다.
 

 

다음부터는 삽질 하지 않겠네요...

 

 

감사합니다.

 

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.