객체 수명 주기 관리

객체 수명 주기 관리

S3 Lifecycle은 객체를 더 저렴한 스토리지 클래스로 전환하거나, 만료된 객체를 대신 삭제해 객체 수명 주기 전반에 걸쳐 저장 비용을 효율적으로 관리하도록 도와줘요. 객체의 수명 주기를 관리하려면 버킷에 대한 S3 Lifecycle 구성을 만들어요. S3 Lifecycle 구성은 Amazon S3가 객체 그룹에 적용하는 작업을 정의하는 규칙 집합이에요. 작업에는 두 가지 유형이 있어요.

  • 전환 작업(Transition actions) – 객체가 언제 다른 스토리지 클래스로 전환될지 정의해요. 예를 들어 객체를 만든 지 30일 후 S3 Standard-IA 스토리지 클래스로 전환하거나, 1년 후 S3 Glacier Flexible Retrieval 스토리지 클래스로 아카이브하도록 선택할 수 있어요. 자세한 내용은 "Amazon S3 스토리지 클래스 이해 및 관리"를 참고하세요. Lifecycle 전환 요청에는 비용이 관련돼요. 요금 정보는 Amazon S3 pricing을 참고하세요.
  • 만료 작업(Expiration actions) – 객체가 언제 만료되는지 정의해요. Amazon S3는 만료된 객체를 대신 삭제해요. 예를 들어 규정 준수 기간 동안 보관한 후 객체를 만료시키도록 선택할 수 있어요. 자세한 내용은 "객체 만료"를 참고하세요. Lifecycle 만료 비용은 최소 저장 기간이 있는 스토리지 클래스에서 객체를 만료시킬 때만 발생할 수 있어요. 자세한 내용은 "최소 저장 기간 요금"을 참고하세요.

중요: 일반 용도 버킷 — 버킷 정책으로 S3 Lifecycle 규칙의 삭제나 전환을 막을 수 없어요. 예를 들어 버킷 정책이 모든 주체의 모든 작업을 거부해도 S3 Lifecycle 구성은 평소처럼 동작해요.

참고: S3 Lifecycle은 주석(annotation)을 별도로 관리하지 않아요. 주석 저장은 부모 객체의 스토리지 클래스와 관계없이 항상 Frequent Access 스토리지의 S3 Standard 요율로 청구돼요. Lifecycle 규칙이 객체를 만료시키면 해당 객체 버전과 연결된 모든 주석이 삭제돼요.

출처: 문서

본문

기존 객체와 새 객체

버킷에 Lifecycle 구성을 추가하면 구성 규칙이 기존 객체와 나중에 추가하는 객체 모두에 적용돼요. 예를 들어 오늘 생성 후 30일이 지나면 객체를 만료시키는 만료 작업이 있는 Lifecycle 구성 규칙을 추가하면, Amazon S3는 이미 30일보다 오래된 모든 객체를 제거 대기열에 넣어요.

청구 변경

객체가 Lifecycle 작업 대상이 되는 시점과 Amazon S3가 객체를 전송하거나 만료시키는 시점 사이에 지연이 있으면, 객체가 Lifecycle 작업 대상이 되는 즉시 청구 변경이 적용돼요. 예를 들어 객체가 만료 예정인데 Amazon S3가 즉시 만료시키지 않으면 만료 시각 이후의 저장 요금은 부과되지 않아요.

이 동작의 한 가지 예외는 S3 Intelligent-Tiering 스토리지 클래스로 전환하는 Lifecycle 규칙이 있는 경우예요. 이 경우 객체가 S3 Intelligent-Tiering으로 전환된 후에야 청구 변경이 발생해요. S3 Lifecycle 규칙에 대한 자세한 내용은 "Lifecycle 구성 요소"를 참고하세요.

참고: Lifecycle 전환에는 데이터 검색 요금이 없어요. 하지만 PUT, COPY 또는 Lifecycle 규칙으로 데이터를 어떤 S3 스토리지 클래스로 옮길 때는 요청당 수집 요금이 있어요. 객체를 어떤 스토리지 클래스로 옮기기 전에 수집 또는 전환 비용을 고려하세요. 비용 고려 사항에 대한 자세한 내용은 Amazon S3 pricing을 참고하세요.

Lifecycle 규칙의 효과 모니터링

활성 Lifecycle 규칙이 수행한 업데이트의 효과를 모니터링하려면 "내 Lifecycle 규칙이 수행한 작업을 어떻게 모니터링하나요?"를 참고하세요.

객체의 전체 수명 주기 관리

S3 Lifecycle 구성 규칙으로 Amazon S3에 객체를 더 저렴한 스토리지 클래스로 전환하거나, 아카이브하거나, 삭제하라고 지시할 수 있어요. 예를 들어:

  • 주기적인 로그를 버킷에 업로드한다면 애플리케이션이 일주일이나 한 달 동안은 로그가 필요할 수 있어요. 그 후에는 삭제하고 싶을 수 있어요.
  • 일부 문서는 제한된 기간 동안 자주 접근돼요. 그 후에는 드물게 접근돼요. 어떤 시점에는 실시간 접근이 필요 없지만, 조직이나 규정이 특정 기간 동안 아카이브하도록 요구할 수 있어요. 그 후에는 삭제할 수 있어요.
  • 주로 보관을 목적으로 일부 유형의 데이터를 Amazon S3에 업로드할 수 있어요. 예를 들어 디지털 미디어, 금융·의료 기록, 원시 유전체 시퀀스 데이터, 장기 데이터베이스 백업, 규정 준수를 위해 보존해야 하는 데이터를 아카이브할 수 있어요.

S3 Lifecycle 작업을 결합해 객체의 전체 수명 주기를 관리할 수 있어요. 예를 들어 만드는 객체의 수명 주기가 잘 정의되어 있다고 가정해 보세요. 처음 30일 동안은 객체를 자주 접근해요. 그다음 최대 90일 동안은 드물게 접근해요. 그 후에는 더 이상 필요 없으니 아카이브하거나 삭제하도록 선택할 수 있어요.

이 시나리오에서 초기 전환 작업으로 S3 Intelligent-Tiering, S3 Standard-IA 또는 S3 One Zone-IA 스토리지로, 다른 전환 작업으로 보관을 위한 S3 Glacier Flexible Retrieval 스토리지로, 그리고 만료 작업을 지정한 S3 Lifecycle 규칙을 만들 수 있어요. 객체를 한 스토리지 클래스에서 다른 스토리지 클래스로 옮기면 저장 비용을 절약할 수 있어요. 비용 고려 사항에 대한 자세한 내용은 Amazon S3 pricing을 참고하세요.

더 알아보기 (Learn more)