Amazon S3 -Versioning
- S3 파일을 버저닝하려면 버킷 레벨이 활성화되어 있어야 함
- 즉, 같은 키로 파일 버전을 다시 업로드하는 경우 기존 파일을 덮어쓰게 되는데
이는 사실상 위에 덮어쓰는게 아니라 해당 파일의 새로운 버전을 생성하는 것 - S3에서 버킷을 버저닝하여 모든 파일 버전을 유지하는 것이 가장 좋은 방법이며
원치 않은 삭제로부터 보호받을 수 있게 되어 이전 버전을 복원할 수 있음 - 또한 필요한 이전 버전으로 손쉽게 되돌릴 수 있음
- 버저닝을 활성화하기 전에 버전 관리되지 않은 파일은 null 버전이 되며,
버킷에서 버저닝을 중단하면 이전 버전이 삭제되는 것이 아니라 이후의 파일이 버전을 할당받지 못하게 됨
<S3 버전 관리 실습>
- S3 버킷의 버저닝 활성화
앞에서 버킷을 생성할 때 버저닝을 비활성화했으므로 Properties 탭에서 버킷 버저닝을 활성화로 수정
버킷 버저닝을 활성화했기 때문에 List versions이라는 새로운 설정이 생기게 되고 버전 ID 열이 추가됨 - 버저닝 작동 확인
coffee.jpg의 경우 객체가 업로드된 시점이 버킷에 버저닝을 활성화하기 이전이기 때문에 버전 ID가 없어 null이 표시됨
그러므로 beach.jpg 파일을 업로드하고 beach.jpg의 버전 ID를 보면 아주 긴 문자열인 버전 ID가 할당되어 표시되게 됨
이 상태에서 만약 beach.jpg 파일을 다시 업로드하게 되면 beach.jpg 파일이 두 개의 버전 ID를 가지게 됨
따라서 버저닝을 하면 파일을 재업로드할 때마다 새로운 버전 파일과 함께 이전 버전도 유지가 되는 것이르모 다른 ID를 할당
그리고 coffee.jpg를 다시 업로드해도 두 개의 버전을 가지게 됨
이 때 List versions을 눌러 버전 목록을 비활성화하면 두 개의 파일만 보이게 됨
- 파일 삭제
beach.jpg를 삭제하면 Delete Marker가 생긴다는 알림 상자가 나타남
즉, 파일이 실제로는 삭제되지 않고 Delete Marker라는 삭제 마커가 생긴다는 뜻이므로
List versions을 활성화하면 그대로 beach.jpg 파일이 있는 것을 확인할 수 있으며 두 가지 버전 위에 Delete Marker가 존재
삭제 마커에도 고유의 버전 ID가 존재하며 삭제한 경우 크기는 0바이트로 파일이 사라진 것처럼 보이지만 실제로는 있음
- 파일 복원
파일을 복원하기 위해서는 삭제 마커만을 지움
- 파일 영구적 삭제
삭제 마커를 지우고 특정 버전 ID를 삭제하는 것을 뜻하므로
삭제 마커와 이전 버전 파일을 한 번에 삭제할 경우 삭제 여부가 아닌 영구적 삭제 여부를 묻게 됨
즉, 삭제 마커를 붙이는 게 아니라 실제로 객체를 영구히 삭제하여 취소할 수 없는 파괴적인 작업을 뜻함
그리하여 이를 클릭하면 객체가 삭제되어 beach.jpg에는 하나의 버전만 남아있는 것을 볼 수 있음
그러므로 특정 객체 버전을 삭제하지 않았다면 원치 않은 삭제로부터 파일을 보호할 수 있음
- 버킷 버저닝 비활성화
버저닝을 중단시키면 이전에 생성한 모든 버전은 유지할 수 있지만 새로운 버전의 경우 버전 ID가 null로 나타남
'Cloud > AWS' 카테고리의 다른 글
[SAA] S3 보안 및 버킷 정책 (0) | 2022.03.23 |
---|---|
[SAA] S3 암호화 (0) | 2022.03.23 |
[SAA] S3 버킷 및 객체 (0) | 2022.03.21 |
[SAA] Beanstalk (0) | 2022.03.21 |
[SAA] 애플리케이션을 빠르게 인스턴스화 하기 (0) | 2022.03.21 |