
S3 버전 관리( S3 Version Control )
。객체의생성 / 업데이트 / 삭제등 작업 시 모든단계를버전 별로 새로운객체로서 저장하면서 관리하는 기능
▶객체 업데이트는동일 파일에 대해덮어쓰기로 수행됨
。버전 관리 기능은 기본적으로비활성화이며,버킷 단위로활성화를 수행
。버전 관리 기능을활성화하는 경우중지는 가능하지만,비활성화는 불가능
▶S3 버킷을 재생성해야비활성화 상태로 유지
。수명 주기 관리와 연동이 가능
S3 버전 관리문제
。버전 관리 활성화시 하나의객체에 대해생성 / 업데이트 / 삭제작업 수행 시 기존객체가 수정되는게 아닌, 새로운 여러버전의객체가 추가로 생성되면서1:N 관계로서S3 버킷 내 용량이 크게 증가
▶업데이트가 잦은객체가 많은버킷에 대해서는버전관리를 지정하지 않도록한다.
。버전 관리중 인버킷의객체삭제 시 실제로 삭제되지 않고Soft Delete되므로, 남아있는버전 객체에 대해서요금이 청구됨에 주의
▶ 반드시객체의 모든버전을 삭제
버킷 버전 관리설정
。S3 -> 버킷 -> 속성 -> 버킷 버전 관리에서 설정
▶활성화시재생성하지 않는 한비활성화는 불가능.
버전 관리활성화시 각객체에는버전 ID가 할당
。S3 버킷내동일 디렉토리에동일 파일을업로드하는 경우덮어쓰기되면서 동일한버전 객체로서업로드되며,사용자는최신 버전의객체만 확인 가능
▶ 해당페이지에서객체중 특정버전 객체를다운로드 / 삭제가 가능
버전관리 활성화시객체삭제 시삭제 마커를 지정되며Soft Delete로서 실제로 삭제되지 않음.
▶객체삭제 시최신 버전 객체에삭제 마커가 지정되며,객체의모든 버전이 삭제되어야HARD DELETE된다.
S3 객체 잠금
。WORM 모델( Write Once, Read Many )을 활용하여객체를 저장함으로써지정 기간동안객체의삭제 / 덮어쓰기를 방지하는 기능
▶객체 보호를 위해 사용
。S3 버전관리가 반드시 활성화되어있어야한다.
S3 객체 잠금종류
보관모드( Retention Mode )
。일정 기간동안수정방지
▶객체 삭제방지 용도로 사용
규정 준수 모드: 누구도객체의잠금 설정 변경,삭제불가능
거버넌스 모드:권한없이 삭제 또는잠금 설정변경 불가능
법적 보존( Legal Hold )
。객체에Hold를 부여하여수정 / 삭제방지
▶제한기간이 없으며,객체에Hold가 존재하는 동안객체의수정 / 삭제불가능