S3 버킷에서 버전 관리를 사용하면 무엇이 달라질까?

S3 버킷에서 버전 관리를 사용하면 무엇이 가능한지 정리해 봤습니다.
2023.04.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 S3 버킷에서 버전 관리를 사용하면 무엇이 가능한지 정리해 봤습니다.

버저닝(Versioning) 이란?

Amazon S3의 버전 관리는 동일 버킷 내에 여러 개의 객체 변형을 보유하는 수단입니다. S3 버전 관리를 사용하면 버킷에 저장된 모든 버전의 객체를 모두 보존, 검색 및 복원할 수 있습니다. 또한 의도치 않은 사용자 작업 및 애플리케이션 장애로부터 더 쉽게 복구할 수 있습니다.

AWS 공식문서에 의하면 다음과 같습니다.

  • 버킷 내에 여러 개의 객체 변형을 보유 가능
  • 버킷에 저장된 모든 버전의 객체를 모두 보존, 검색 및 복원 가능

버저닝(Versioning) 활성화

버저닝(Versioning)은 S3 버킷을 생성할 때「버킷 버전 관리」옵션에서 활성화 할 수 있습니다.

이미 생성한 S3 버킷의 경우「버킷 버전 관리」옵션에서 편집을 통해 활성화 할 수 있습니다.

※버킷 버전 관리를 활성화한 후 객체의 이전 버전을 관리하려면 수명 주기 규칙을 업데이트해야 할 수 있습니다.

버저닝(Versioning) 활용

테스트를 위해, 버킷 버전 관리를 활성화 한 S3 버킷에 4개의 이미지를 업로드 했습니다.

  • access-log-image-1.png
  • access-log-image-2.png
  • access-log-image-3.png
  • access-log-image-4.png

버전 관리를 사용하면 위 이미지와 같이 각 객체에 대한 버전이 만들어집니다.

「access-log-image-1.png」와 같은 이름의 객체를 업로드하면 덮어쓰기되어 아래와 같이 버전이 나뉩니다.

  • 현재 버전
  • 덮어쓰기 이전 버전

「객체 작업」,「작업」 옵션을 통해 덮어쓰기 이전 버전을 복사하거나 다시 다운로드하여 내용을 확인할 수 있습니다.

버전 관리를 비활성화하면 위 이미지와 같이 덮어쓰기 이전 버전을 확인할 수 없습니다.

또한 버전 관리를 활성화한 경우 삭제된 파일을 복원할 수 있습니다. ※ 테스트를 위해「access-log-image-4.png」를 삭제했습니다.

「버전 표시」를 클릭하면 삭제한 객체의 버전이 표시됩니다.

여기서「삭제 마커」를 삭제하면 삭제한 객체가 복원되며, 그 아래에 있는 png 유형을 삭제하면 객체가 완전히 삭제됩니다.

「삭제 마커」를 삭제해 보면 삭제한「access-log-image-4.png」가 복원된 것을 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !