객체 만료
S3 수명 주기 구성에 이전 작업을 추가하여 Amazon S3가 수명 주기 종료 시 객체를 삭제하도록 지시할 수 있습니다. 수명 주기 구성을 기준으로 객체의 수명이 다하면 Amazon S3는 버킷이 어떤 S3 버전 관리 상태인지에 따라 Expiration
작업을 수행합니다.
-
버전 관리가 활성화되지 않은 버킷 - Amazon S3가 제거를 위해 객체를 대기열에 넣고 비동기식으로 제거하여 객체를 영구적으로 제거합니다.
-
버전 관리가 활성화된 버킷 - 최신 객체 버전이 삭제 마커가 아닌 경우 Amazon S3는 고유한 버전 ID를 갖는 삭제 마커를 추가합니다. 이를 통해 최신 버전이 최신이 아닌 버전이 되고 삭제 마커가 최신 버전이 됩니다.
-
버전 관리가 일시 중지된 버킷 - Amazon S3에서 버전 ID가 Null인 삭제 마커를 생성합니다. 삭제 마커는 버전 계층 구조에서 null 버전 ID로 모든 객체 버전을 대체함으로써 결과적으로 객체를 삭제합니다.
버전이 지정된 버킷(즉, 버전 관리를 사용하거나 버전 관리가 일시 중지된 버킷)의 경우, Amazon S3가 Expiration
작업을 처리하는 방식에 대한 몇 가지 고려 사항이 있습니다. 버전 관리가 활성화되거나 버전 관리가 일시 중지된 버킷에는 다음이 적용됩니다.
-
객체 만료가 객체의 현재 버전에만 적용됩니다(비최신 객체 버전에 영향이 없음).
-
객체 버전이 1개 이상이고 삭제 마커가 최신 버전이면 Amazon S3은 작업을 수행하지 않습니다.
-
최신 객체 버전이 유일한 객체 버전이면서 삭제 마커인 경우(만료된 객체 삭제 마커라고도 하는데, 이 경우 모든 객체 버전이 삭제되고 하나의 삭제 마커만 남게 됨), Amazon S3은 만료된 객체 삭제 마커를 제거합니다.
Expiration
작업을 사용하여 Amazon S3에 만료된 객체 삭제 마커를 제거하도록 지시할 수도 있습니다. 예제는 버전 관리를 사용하는 버킷에서 만료된 객체 삭제 마커 제거을 참조하세요. -
NoncurrentVersionExpiration
작업 요소를 사용하여 Amazon S3가 비최신 객체 버전을 영구적으로 삭제하도록 지시할 수 있습니다. 이러한 삭제된 객체는 복구할 수 없습니다. 이 만료는 객체가 비최신 상태가 된 시점부터 특정 일수를 기준으로 할 수 있습니다. 일수 외에도 유지할 비최신 버전의 최대 개수를 제공할 수 있습니다(1~100개). 이 값은 Amazon S3가 특정 버전에서 관련 작업을 수행하기 전에 얼마나 많은 새로운 비최신 버전이 있어야 하는지를 지정합니다. 비최신 버전의 최대 개수를 지정하려면Filter
요소 또한 제공해야 합니다.Filter
요소를 지정하지 않은 상태로 비최신 버전의 최대 수를 제공하는 경우 Amazon S3에서InvalidRequest
오류가 발생합니다.NoncurrentVersionExpiration
작업 요소 사용에 대한 자세한 내용은 수명 주기 작업을 설명할 요소 단원을 참조하세요. -
Amazon S3는 S3 객체 잠금 구성이 적용된 비최신 버전의 객체에 대해서는 어떠한 조치도 취하지 않습니다.
-
복제 상태가
Pending
인 객체의 경우 Amazon S3는 최신 또는 비최신 버전의 객체에 대해 어떠한 조치도 취하지 않습니다.
자세한 내용은 S3 버전 관리로 여러 버전의 객체 유지 단원을 참조하십시오.
중요
S3 수명 주기 구성에 규칙이 여러 개인 경우 객체는 같은 날에 여러 가지 S3 수명 주기 작업을 수행할 수 있습니다. 이러한 경우 Amazon S3은 다음과 같은 일반 규칙을 따릅니다.
-
영구 삭제는 전환에 우선합니다.
-
이전은 삭제 마커 생성에 우선합니다.
-
객체에서 S3 Glacier Flexible Retrieval 및 S3 Standard-IA(또는 S3 One Zone-IA) 이전을 모두 사용할 수 있는 경우 Amazon S3가 S3 Glacier Flexible Retrieval 이전을 선택합니다.
예시는 중복 필터 및 충돌하는 수명 주기 작업의 예제 섹션을 참조하세요.
기존 객체 및 새 객체
버킷에 수명 주기 구성을 추가할 경우 구성 규칙이 기존 객체는 물론 나중에 추가하는 객체에도 적용됩니다. 예를 들어, 특정 접두사가 있는 객체를 생성한 후 30일이 경과하면 만료시키는 만료 작업을 포함하는 수명 주기 구성 규칙을 오늘 추가할 경우, Amazon S3는 30일 이상 경과하고 해당 접두사가 있는 모든 기존 객체를 삭제 대기열에 넣습니다.
중요
버킷 정책을 사용하여 S3 수명 주기 규칙에 따른 삭제 또는 이전을 방지할 수는 없습니다. 예를 들어, 버킷 정책이 모든 보안 주체에 대한 모든 작업을 거부하더라도 S3 수명 주기 구성은 여전히 정상적으로 작동합니다.
객체 만료 시기를 확인하는 방법
현재 버전의 객체가 만료될 예정인 시기를 알아보려면 HeadObject 또는 GetObject API 작업을 사용합니다. 이러한 API 작업은 현재 버전의 객체를 더 이상 캐시할 수 없는 날짜 및 시간을 제공하는 응답 헤더를 반환합니다.
참고
만료 날짜와 Amazon S3에서 객체를 제거하는 날짜 사이의 지연이 있을 수 있습니다. 만료된 객체와 관련된 만료 또는 스토리지 시간에 대해서는 요금이 청구되지 않습니다.
수명 주기 규칙을 업데이트, 비활성화 또는 삭제하기 전에
LIST
API 작업(예: ListObjectsV2, ListObjectVersions, 및 ListMultipartUploads)을 사용하거나 S3 Inventory를 사용한 데이터 카탈로그화 및 분석를 사용하여 사용 사례에 따라 Amazon S3에서 적합한 객체를 전환 및 만료했는지 확인하세요.
최소 스토리지 기간 요금
S3 Standard-IA 또는 S3 One Zone-IA 스토리지에 30일 미만의 기간 동안 저장되어 있었던 객체를 만료 처리하는 S3 수명 주기 만료 규칙을 생성할 경우, 30일에 해당하는 요금이 청구됩니다. S3 Glacier Flexible Retrieval 스토리지에 90일 미만의 기간 동안 저장되어 있었던 객체를 만료 처리하는 수명 주기 만료 규칙을 생성할 경우 90일에 해당하는 요금이 청구됩니다. S3 Glacier Deep Archive 스토리지에 180일 미만의 기간 동안 저장되어 있었던 객체를 만료 처리하는 수명 주기 만료 규칙을 생성할 경우, 180일에 해당하는 요금이 청구됩니다.
자세한 내용은 Amazon S3 요금