object lock 설정을 적용한 s3의 bucket이 바로 삭제되는지 확인을 위한 테스트를 진행한다.
결론은 아래와 같다.
Step | Versioning | Object | 파일 보유시 bucket 삭제 가능 |
파일 전체 삭제 시 bucket 삭제 가능 |
Empty Bucket 후 삭제 가능 |
1차 | Enable | Enable | 불가 | 불가 | 가능 |
2차 | Enable | Disable | 불가 | 불가 | 가능 |
3차 | Disable | Disable | 불가 | 가능 | 가능 |
아래는 테스트 이력
1차. Versioning + Object Lock Enable
ㅁ Bucket 이름 : delete-test-bucket-versioning-lock 으로 생성 아래는 구성 내용 확인
ㅁ 해당 bucket에 폴더 생성 후 파일 2개 업로드
ㅁ 삭제 시도
ㅁ 파일이 비어 있지 않아 실패됨.
ㅁ 버킷 내부 파일을 모두 삭제함
ㅁ 다시 Delete 시도 --> versioning이 되어 있어 empty 되어 있지 않다고 판단
ㅁ empty bucket configuration 으로 들어가서 모든 permanently delete 적용
ㅁ 다시 삭제 시도
최종적으로 delete 성공
2차. Versioning + Object Lock Disable
ㅁ 1차와 동일하며 Object Lock 설정만 Disable
ㅁ 2개의 파일을 업로드
ㅁ 파일이 있는 경우 bucket이 삭제 안됨
ㅁ 파일을 삭제 후 테스트
- 우선 파일 삭제
버저닝이 되어 있으면 파일을 완전히 비워야 삭제됨을 알 수 있음.
ㅁ 다시 삭제 시도 후 성공 삭제 완료
3차. No Versioning + Object Lock Disable
bucket name: delete-test-bucket-noversioning-nolock
1차와는 다르게 Versioning Disable, Lock Diable 설정
해당 bucket에 2개 파일 업로드
이 상황에서도 버킷내 파일이 비어있지 않으면 삭제 안됨
파일 삭제
Versioning Disable 설정 시에는 파일이 삭제된 후 버킷 삭제 가능하여 삭제 완료됨