Amazon S3 스토리지 수명 주기에 관해

Amazon S3 수명 주기에 관해서 살펴보고, 수명 주기 규칙을 설정하는 방법에 대해서 정리해 봤습니다.
2021.09.19

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon S3 수명 주기에 관해서 살펴보고, 수명 주기 규칙을 설정하는 방법에 대해서 정리해 봤습니다.

스토리지 수명 주기란?

스토리지 수명 주기란 버킷에 저장된 객체의 수명 주기(Life Cycle)를 관리할 수 있는 기능을 말합니다.

스토리지 수명 주기 관리에는 2가지 유형이 존재합니다.

  • 전환 작업
  • 만료 작업

전환 작업은 객체가 다른 Amazon S3 스토리지 클래스로 전환되는 시기를 정의합니다. 예를 들어, 생성 후 30일이 지나면 객체를 S3 STANDARD-IA 스토리지 클래스로 전환하거나 생성 후 1년이 지나면 객체를 S3 Glacier 스토리지 클래스에 아카이브하도록 선택할 수 있습니다.

만료 작업은 객체가 만료되는 시기를 정의합니다. Amazon S3에서 만료된 객체를 자동으로 삭제합니다. 수명 주기 만료 비용은 선택한 객체 만료 시점에 따라 달라집니다.

수명 주기 규칙 스토리지 클래스 전환

그럼 S3 버킷을 생성하고, 수명 주기 규칙을 생성해 보도록 하겠습니다.

S3 버킷 생성

먼저 Amazon S3 서비스로 들어가서「버킷 만들기」버튼을 클릭합니다.

버킷 이름을 입력하고, 리전을 선택한 다음, 나머지는 디폴트 값으로 버킷을 생성합니다.

그리고 여러 객체가 저장될 폴더를 하나 만들어줍니다.

수명 주기 규칙 생성

관리 탭에서「수명 주기 규칙 생성」버튼을 클릭합니다.

먼저 수명 주기 규칙 이름을 입력합니다.

규칙범위 선택은

  • 하나 이상의 필터를 사용하여 이 규칙의 범위 제한
  • 이 규칙은 버킷의 모든 객체에 적용됨

두가지가 있습니다. 「하나 이상의 필터를 사용하여 이 규칙의 범위 제한」은 특정 디렉토리의 파일들만 규칙을 적용시키는 옵션이고「이 규칙은 버킷의 모든 객체에 적용됨」은 버킷 내의 모든 파일에 적용시키는 옵션입니다.

방금 전 만들었던 lifecycle-folder에만 적용 시킬 생각이기 때문에, 「하나 이상의 필터를 사용하여 이 규칙의 범위 제한」옵션을 선택합니다.

마지막으로 버킷 이름을 제외한 폴더 경로를 적어줍니다.

  • 스토리지 클래스 간에 객체의 현재 버전 전환
    • 원하는 스토리지 클래스 전환을 선택하고 객체 생성 후 경과 기간을 설정
  • 스토리지 클래스 간에 객체의 이전 버전 전환
    • 현재 버전 전환과 방법은 동일
  • 객체의 현재 버전 만료
    • 날짜를 지정하면 그 날짜 기준으로 만료 상태로 변경 되며 시간이 좀 더 경과된 후 삭제
  • 객체의 이전 버전 영구 삭제
    • 설정된 날짜 기준으로 삭제
  • 만료된 삭제 마커 또는 완료되지 않은 멀티파트 업로드 삭제
    • 현재 날짜 기준으로 실행

마지막으로 스토리지 클래스를 선택하고, 객체 생성 후 경과 기간을 설정할 수 있습니다.

예를 들어, 객체 생성일 기준으로 10일 후 데이터를 삭제 한다든지, 30일 후 S3 Standard에서 S3 Standard-IA로 클래스를 전환한다든지 다양하게 설정할 수 있습니다.

규칙을 생성하고, 규칙 구성을 살펴보면, 30일 후 S3 Standard에서 S3 Standard-IA로 클래스가 전환되는 규칙이 생성된 것을 볼 수 있습니다.

참고