AWS(Amazon Web Service)

[AWS] Amazon S3 - Lifecycle Rules

yunseohhe 2024. 10. 31. 00:16

Moving between Storage Classes

(출처 : 구글이미지)

  • 클래스 간에 객체를 이전할수 있는데, 그게 가능한지 보여주는 다이어그램이다.
  • 위의 이미지처럼 예를 들어 Standard에서 Standard IA로 이전할 수 있고, 다시 Intelligent Tiering, 그리고 One-Zone IA로, 그리고 다음으로 보이는 것처럼 Flexible Retrieval 또는 Deep Archive로 갈 수 있다.
  • 실제로 객체에 자주 액세스하지 않을 걸 알고 있다면 'Standard IA'로 옮길 수 있고,
    객체를 아카이브화 하려는 걸 알고 있다면 Glacler 티어나 Deep Archive 티어로 이전할 수 있다.
  • 이런 객체들을 수작업으로 옮길 수도 있지만 '라이프사이클 규칙'을 이용해서 자동으로 옮길 수도 있다.

 

Amazon S3 - Lifecycle Rules

  • Transition Actions
     - 다른 스토리지 클래스로 이전하기 위해 객체를 설정하는 것이다.
     - 예를 들어, 생성된 지 60일 후에 Standard 클래스로 이전한다고 해줄 수 있고, 또는 6개월 후에 Glacier로 이전해서 아카이브화 한다고 할 수 있다.
  • Expiration actions
     - 일정한 시간 뒤에 만료되어서 객체를 삭제하도록 설정할 수도 있다.
     - 예를 들어, 액세스 로그 파일은 365일 후에 삭제할 수 있다. 또는 버저닝을 활성화 했다면 Expiration actions를 사용해서 모든 파일 버전을 삭제할 수도 있다. 또는 이걸 사용해서 불완전한 멀티파트 업로드를 삭제할 수도 있다.
     - 멀티파트 업로드가 2주 이상 된 경우에도 완전히 완료되지 않은 경우에는 그걸 삭제할 수도 있다.
  • 규칙은 또 특정한 접두어에 대해 지정할 수도 있다.
    그것들을 버킷 전체에 적용하거나 버킷 안의 특정한 경로에 적용할 수도 있다.
  • 특정한 객체 태그에 대해 규칙을 지정할 수도 있다.
     - 예를 들어, 재무 부서에만 규칙을 적용할 수도 있다.

 

Amazon S3 - Lifecycle Rules (Scenario 1)

  • 예를 들어, EC2에 애플리케이션이 있고, 그 앱은 프로필 사진이 Amazon S3에 업로드 된 후에 이미지 섬네일을 생성한다. 하지만 그런 섬네일들은 원본 사진으로부터 쉽게 재생성할 수 있다.
    그리고 60일 동안만 보관해야한다. 하지만 원본 이미지는 60일 동안은 곧바로 받을 수 있어야 하고, 
    그 후에 사용자는 최장 6시간 동안 기다릴 수 있다. 그럼 이런 규칙을 어떻게 설계해야할까?!
     - S3 원본 이미지는 Standard 클래스에 있을 수 있고, 60일 후에 Glacier로 이전하기 위한 라이프사이클 설정이 있다.
     - 예를 들어 접두어를 써서 소스와 섬네일을 구분하고, 섬네일은 One-Zone IA에 있을 수 있다. 왜냐면 빈번히 액세스 하는게 아니고 쉽게 재생성할 수 있으니깐.
     - 그리고 60일 후에 그것들을 만료시키거나 삭제하는 라이프사이클 설정이 있을 수 있다.

 

Amazon S3 - Lifecycle Rules (Scenario 2)

  • 여러분의 회사 규칙에 따라 30일 동안은 삭제된 S3 객체를 즉각적으로 복구할 수 있어야 한다.
    비록 그런 경우가 드물긴 하지만, 그 기간이 지나면 최장 365일 동안은 삭제된 객체를 48시간이내에 복구할 수 있어야 한다.
      - 그렇게 하기 위해서 우린 S3 버저닝을 활성화해서 객체 버전을 보관할 수 있다. 삭제된 객체들은 실제로 "삭제 마커"에 의해 감춰져 있다. 그런 다음에 복구할 수 있을 것이다.
      - 다음으로 현재 버전이 아닌, 즉 최상위 버전이 아닌 객체들을 Standard IA로 이전하기 위한 규칙을 만들 것이다. 
        즉, 그 현재 버전이 아닌 버전들을 아카이브화를 목적으로 Glacier Deep Archive로 이전할 수 있다.

 

Amazon S3 Analytics - Storage Class Analysis

  • 우린 어떻게 어떤 객체를 다른 클래스로 이전할 최적의 일 수를 결정할 수 있을까?!
      - Amazon S3 Analytics를 이용하면 편리하다.
  • Standard나 Standard IA에서는 추천하는데, One-Zone IA나 Glacier와는 호환되지 않는다.

(출처 : 구글이미지)

  • 위의 이미지처럼 S3 버킷이 있고 추가로 S3 Analytics가 실행되고 있다. 그럼 .csv 보고서를 생성하고 약간의 추천사항과 통계를 제공할 것이다.
    그 보고서는 매일 업데이트 될 것이고, 데이터 분석 결과가 나오는 게 보일 때까지는 24시간 내지 48시간이 걸릴 수 있다.
  • 이런 보고서는 합리적인 라이프사이클 규칙들을 조합하거나 개선하기 위한 좋은 첫걸음이다.