Lifecycle 구성 요소

Lifecycle 구성 요소

S3 Lifecycle 구성은 객체 수명 동안 Amazon S3가 수행하는 작업을 설명하는 다양한 요소를 포함한 Lifecycle 규칙으로 이루어져요. 각 S3 버킷에는 하나의 Lifecycle 구성을 할당할 수 있으며, 이 구성은 최대 1,000개의 규칙을 포함할 수 있어요. Amazon S3 Lifecycle 구성을 XML로 지정하며, 하나 이상의 Lifecycle 규칙으로 구성되고 각 규칙은 하나 이상의 요소로 구성돼요.

<LifecycleConfiguration>
    <Rule>
         <Element>
    </Rule>
    <Rule>
         <Element>
         <Element>
    </Rule>
</LifecycleConfiguration>

각 규칙은 다음으로 구성돼요.

  • 규칙 ID와 규칙이 활성화되었는지 비활성화되었는지를 나타내는 상태를 포함한 규칙 메타데이터. 규칙이 비활성화되면 Amazon S3는 규칙에 지정된 어떤 작업도 수행하지 않아요.
  • 규칙이 적용되는 객체를 식별하는 필터. 객체 크기, 객체 키 접두사, 하나 이상의 객체 태그 또는 필터 조합으로 필터를 지정할 수 있어요.
  • Amazon S3가 지정된 작업을 수행하기를 원하는 객체 수명의 날짜나 기간이 포함된 하나 이상의 전환 또는 만료 작업.

출처: 문서

본문

다음 섹션은 S3 Lifecycle 구성의 XML 요소를 설명해요. 예제 구성은 "S3 Lifecycle 구성 예시"를 참고하세요.

ID 요소

Lifecycle 구성은 버킷 수준에서 설정되며, 각 버킷은 고유한 Lifecycle 구성을 가져요. S3 Lifecycle 구성은 버킷당 최대 1,000개의 규칙을 가질 수 있어요. 이 제한은 조정할 수 없어요. <ID> 요소는 버킷의 Lifecycle 구성 내에서 규칙을 고유하게 식별해요. ID 길이는 255자로 제한돼요.

Status 요소

<Status> 요소 값은 Enabled 또는 Disabled 중 하나일 수 있어요. 규칙이 비활성화되면 Amazon S3는 규칙에 정의된 어떤 작업도 수행하지 않아요.

Filter 요소

S3 Lifecycle 규칙은 규칙에서 지정하는 <Filter> 요소에 따라 버킷의 모든 객체 또는 객체 하위 집합에 적용될 수 있어요.

키 접두사, 객체 태그 또는 둘의 조합으로 객체를 필터링할 수 있어요(이 경우 Amazon S3는 논리적 AND로 필터를 결합해요). 필터의 예시와 자세한 정보는 "Lifecycle 규칙에 필터 추가"를 참고하세요.

  • 키 접두사로 필터 지정하기 – 이 예시는 키 이름 접두사(logs/)에 따라 객체 하위 집합에 적용되는 S3 Lifecycle 규칙을 보여줘요. 예를 들어 이 Lifecycle 규칙은 logs/mylog.txt, logs/temp1.txt, logs/test.txt 객체에 적용돼요. example.jpg 객체에는 적용되지 않아요.
<LifecycleConfiguration>
    <Rule>
        <Filter>
           <Prefix>logs/</Prefix>
        </Filter>
        transition/expiration actions
         ...
    </Rule>
    ...
</LifecycleConfiguration>

서로 다른 키 이름 접두사에 따라 객체 하위 집합에 Lifecycle 작업을 적용하려면 별도의 규칙을 지정하세요. 각 규칙에서 접두사 기반 필터를 지정하세요. 예를 들어 키 접두사가 projectA/와 projectB/인 객체에 대한 Lifecycle 작업을 설명하려면 다음과 같이 두 개의 규칙을 지정하세요.

<LifecycleConfiguration>
    <Rule>
        <Filter>
           <Prefix>projectA/</Prefix>
        </Filter>
        transition/expiration actions
         ...
    </Rule>

    <Rule>
        <Filter>
           <Prefix>projectB/</Prefix>
        </Filter>
        transition/expiration actions
         ...
    </Rule>
</LifecycleConfiguration>

객체 키에 대한 자세한 내용은 "Amazon S3 객체 이름 지정"을 참고하세요.

  • 객체 태그 기반 필터 지정하기 – 다음 예시에서 Lifecycle 규칙은 태그(key)와 값(value)을 기반으로 하는 필터를 지정해요. 이 규칙은 특정 태그가 있는 객체 하위 집합에만 적용돼요.
<LifecycleConfiguration>
    <Rule>
        <Filter>
           <Tag>
              <Key>key</Key>
              <Value>value</Value>
           </Tag>
        </Filter>
        transition/expiration actions
        ...
    </Rule>
</LifecycleConfiguration>

여러 태그를 기반으로 하는 필터를 지정할 수 있어요. 다음 예시처럼 태그를 <And> 요소로 감싸야 해요. 이 규칙은 두 개의 태그(특정 태그 키와 값)를 가진 객체에 Lifecycle 작업을 수행하도록 Amazon S3에 지시해요.

<LifecycleConfiguration>
    <Rule>
      <Filter>
         <And>
            <Tag>
               <Key>key1</Key>
               <Value>value1</Value>
            </Tag>
            <Tag>
               <Key>key2</Key>
               <Value>value2</Value>
            </Tag>
             ...
          </And>
      </Filter>
      transition/expiration actions
    </Rule>
</Lifecycle>

Lifecycle 규칙은 지정된 두 태그를 모두 가진 객체에 적용돼요. Amazon S3는 논리적 AND를 수행해요. 다음을 주의하세요.

  • 각 태그는 키와 값을 모두 정확히 일치해야 해요. <Key> 요소만 지정하고 <Value> 요소를 지정하지 않으면 규칙은 태그 키와 일치하면서 값이 지정되지 않은 객체에만 적용돼요.
  • 규칙은 규칙에 지정된 모든 태그를 가진 객체 하위 집합에 적용돼요. 객체에 추가 태그가 지정되어 있어도 규칙은 여전히 적용돼요.

참고: 필터에 여러 태그를 지정할 때 각 태그 키는 고유해야 해요.

  • 접두사와 하나 이상의 태그를 모두 기반으로 필터 지정하기 – Lifecycle 규칙에서 키 접두사와 하나 이상의 태그를 모두 기반으로 하는 필터를 지정할 수 있어요. 다시 말하지만 이러한 모든 필터 요소를 다음과 같이 <And> 요소로 감싸야 해요.
<LifecycleConfiguration>
    <Rule>
        <Filter>
          <And>
             <Prefix>key-prefix</Prefix>
             <Tag>
                <Key>key1</Key>
                <Value>value1</Value>
             </Tag>
             <Tag>
                <Key>key2</Key>
                <Value>value2</Value>
             </Tag>
              ...
          </And>
        </Filter>
        <Status>Enabled</Status>
        transition/expiration actions
    </Rule>
</LifecycleConfiguration>

Amazon S3는 논리적 AND로 이 필터를 결합해요. 즉, 규칙은 지정된 키 접두사와 지정된 태그를 가진 객체 하위 집합에 적용돼요. 필터는 접두사 하나와 0개 이상의 태그를 가질 수 있어요.

  • 빈 필터 지정하기 – 빈 필터를 지정할 수 있으며, 이 경우 규칙은 버킷의 모든 객체에 적용돼요.
<LifecycleConfiguration>
    <Rule>
        <Filter>
        </Filter>
        <Status>Enabled</Status>
        transition/expiration actions
    </Rule>
</LifecycleConfiguration>
  • 객체 크기로 규칙 필터링하기 – 최소 크기(ObjectSizeGreaterThan), 최대 크기(ObjectSizeLessThan)를 지정하거나 객체 크기 범위를 지정할 수 있어요. 객체 크기 값은 바이트 단위예요. 기본적으로 128KB보다 작은 객체는 더 작은 최소 크기(ObjectSizeGreaterThan)나 최대 크기(ObjectSizeLessThan)를 지정하지 않는 한 어떤 스토리지 클래스로도 전환되지 않아요. 자세한 내용은 "예제: 128KB보다 작은 객체 전환 허용"을 참고하세요.
<LifecycleConfiguration>
    <Rule>
        <Filter>
            <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan>
        </Filter>
        <Status>Enabled</Status>
        transition/expiration actions
    </Rule>
</LifecycleConfiguration>

참고: ObjectSizeGreaterThan과 ObjectSizeLessThan 필터는 지정된 값을 제외해요. 예를 들어 128KB에서 1024KB 크기의 객체를 S3 Standard 스토리지 클래스에서 S3 Standard-IA 스토리지 클래스로 이동하도록 설정하면 정확히 1024KB와 128KB인 객체는 S3 Standard-IA로 전환되지 않아요. 대신 규칙은 128KB보다 크고 1024KB보다 작은 객체에만 적용돼요.

객체 크기 범위를 지정할 때는 ObjectSizeGreaterThan 정수가 ObjectSizeLessThan 값보다 작아야 해요. 필터를 두 개 이상 사용할 때는 필터를 <And> 요소로 감싸야 해요. 다음 예시는 500바이트에서 64,000바이트 사이의 범위에 있는 객체를 지정하는 방법을 보여줘요.

<LifecycleConfiguration>
    <Rule>
        <Filter>
            <And>
                <Prefix>key-prefix</Prefix>
                <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan>
                <ObjectSizeLessThan>64000</ObjectSizeLessThan>
            </And>
        </Filter>
        <Status>Enabled</Status>
        transition/expiration actions
    </Rule>
</LifecycleConfiguration>

Lifecycle 작업을 설명하는 요소

S3 Lifecycle 규칙에서 다음 미리 정의된 작업을 하나 이상 지정해 객체 수명 동안 특정 작업을 수행하도록 Amazon S3에 지시할 수 있어요. 이러한 작업의 효과는 버킷의 버전 관리 상태에 따라 달라져요.

  • Transition 작업 요소 – Transition 작업을 지정해 객체를 한 스토리지 클래스에서 다른 스토리지 클래스로 전환해요. 객체 전환에 대한 자세한 내용은 "지원되는 전환"을 참고하세요. 객체 수명의 지정된 날짜나 기간에 도달하면 Amazon S3가 전환을 수행해요. 버전 관리 버킷(버전 관리 활성화 또는 일시 중지 버킷)에서 Transition 작업은 현재 객체 버전에 적용돼요. 비현재 버전을 관리하려면 Amazon S3는 NoncurrentVersionTransition 작업을 정의해요(이 주제 뒷부분에서 설명).
  • Expiration 작업 요소 – Expiration 작업은 규칙에서 식별된 객체를 만료시키며, 어떤 Amazon S3 스토리지 클래스의 대상 객체에도 적용돼요. 스토리지 클래스에 대한 자세한 내용은 "Amazon S3 스토리지 클래스 이해 및 관리"를 참고하세요. Amazon S3는 만료된 모든 객체를 사용할 수 없게 만들어요. 객체가 영구적으로 제거되는지 여부는 버킷의 버전 관리 상태에 따라 달라져요.
    • 버전 관리 없는 버킷 – Expiration 작업은 Amazon S3가 객체를 영구적으로 제거하는 결과를 낳아요.

    • 버전 관리 버킷 – 버전 관리 버킷(버전 관리 활성화 또는 일시 중지)에는 Amazon S3가 Expiration 작업을 처리하는 방식을 결정하는 몇 가지 고려 사항이 있어요. 버전 관리 활성화 또는 일시 중지 버킷에는 다음이 적용돼요.

      • Expiration 작업은 현재 버전에만 적용돼요(비현재 객체 버전에는 영향이 없어요).
      • 객체 버전이 하나 이상 있고 삭제 마커가 현재 버전이면 Amazon S3는 아무 작업도 하지 않아요.
      • 현재 객체 버전이 유일한 객체 버전이면서 동시에 삭제 마커인 경우(모든 객체 버전이 삭제되고 삭제 마커만 남은 상태를 만료된 객체 삭제 마커라고 해요) Amazon S3는 만료된 객체 삭제 마커를 제거해요. 만료 작업으로 Amazon S3가 만료된 객체 삭제 마커를 제거하도록 지시할 수도 있어요. 예시는 "버전 관리 활성화 버킷에서 만료된 객체 삭제 마커 제거"를 참고하세요.

      자세한 내용은 "S3 Versioning으로 객체의 여러 버전 유지"를 참고하세요. Amazon S3가 만료를 관리하도록 설정할 때 다음도 고려하세요.

      • 버전 관리 활성화 버킷 – 현재 객체 버전이 삭제 마커가 아니면 Amazon S3는 고유한 버전 ID를 가진 삭제 마커를 추가해요. 이렇게 하면 현재 버전이 비현재 버전이 되고 삭제 마커가 현재 버전이 돼요.
      • 버전 관리 일시 중지 버킷 – 버전 관리 일시 중지 버킷에서 만료 작업은 Amazon S3가 버전 ID가 null인 삭제 마커를 만들게 해요. 이 삭제 마커는 버전 계층에서 버전 ID가 null인 객체 버전을 대체하며, 사실상 객체를 삭제해요.

추가로 Amazon S3는 버전 관리 버킷(버전 관리 활성화 및 일시 중지 버킷)에서 비현재 객체 버전을 관리하는 데 사용할 수 있는 다음 작업을 제공해요.

  • NoncurrentVersionTransition 작업 요소 – 이 작업으로 Amazon S3가 객체를 지정된 스토리지 클래스로 전환하는 시점을 지정해요. 객체가 비현재가 된 후 경과한 일수(<NoncurrentDays>)에 근거해 전환할 수 있어요. 일수 외에도 유지할 비현재 버전 수(<NewerNoncurrentVersions>)(1~100)를 지정할 수 있어요. 이 값은 Amazon S3가 특정 버전을 전환하기 전에 몇 개의 더 새로운 비현재 버전이 존재해야 하는지를 결정해요. Amazon S3는 유지하도록 지정된 수를 초과하는 추가 비현재 버전을 전환해요. 전환이 일어나려면 <NoncurrentDays>와 <NewerNoncurrentVersions> 값이 모두 초과되어야 해요. 유지할 비현재 버전 수를 지정하려면 <Filter> 요소도 함께 제공해야 해요. <Filter> 요소를 지정하지 않으면 유지할 비현재 버전 수를 지정할 때 Amazon S3가 InvalidRequest 오류를 생성해요. 객체 전환에 대한 자세한 내용은 "지원되는 전환"을 참고하세요. NoncurrentVersionTransition 작업에 일수를 지정할 때 Amazon S3가 날짜를 계산하는 방법에 대한 자세한 내용은 "Lifecycle 규칙: 객체 수명 기준"을 참고하세요.
  • NoncurrentVersionExpiration 작업 요소 – 이 작업으로 Amazon S3가 객체의 비현재 버전을 영구 삭제하도록 지시해요. 삭제된 객체는 복구할 수 없어요. 이 만료는 객체가 비현재가 된 후 경과한 일수(<NoncurrentDays>)에 근거할 수 있어요. 일수 외에도 유지할 비현재 버전 수(<NewerNoncurrentVersions>)(1~100)를 지정할 수 있어요. 이 값은 Amazon S3가 특정 버전을 만료시키기 전에 몇 개의 더 새로운 비현재 버전이 존재해야 하는지를 지정해요. Amazon S3는 유지하도록 지정된 수를 초과하는 추가 비현재 버전을 영구 삭제해요. 삭제가 일어나려면 <NoncurrentDays>와 <NewerNoncurrentVersions> 값이 모두 초과되어야 해요. 유지할 비현재 버전 수를 지정하려면 <Filter> 요소도 함께 제공해야 해요. <Filter> 요소를 지정하지 않으면 유지할 비현재 버전 수를 지정할 때 Amazon S3가 InvalidRequest 오류를 생성해요. 비현재 객체의 지연 제거는 우발적인 삭제나 덮어쓰기를 수정해야 할 때 유용할 수 있어요. 예를 들어 비현재가 된 지 5일 후 비현재 버전을 삭제하는 만료 규칙을 구성할 수 있어요. 예를 들어 2014년 1월 1일 오전 10시 30분(UTC)에 photo.gif(버전 ID 111111) 객체를 만든다고 가정해 보세요. 2014년 1월 2일 오전 11시 30분(UTC)에 실수로 photo.gif(버전 ID 111111)를 삭제하면 새 버전 ID(예: 버전 ID 4857693)를 가진 삭제 마커가 생성돼요. 이제 삭제가 영구화되기 전까지 5일 동안 photo.gif(버전 ID 111111)의 원래 버전을 복구할 수 있어요. 2014년 1월 8일 00:00(UTC)에 만료용 Lifecycle 규칙이 실행되어 photo.gif(버전 ID 111111)를 비현재 버전이 된 지 5일 후에 영구 삭제해요. NoncurrentVersionExpiration 작업에 일수를 지정할 때 Amazon S3가 날짜를 계산하는 방법에 대한 자세한 내용은 "Lifecycle 규칙: 객체 수명 기준"을 참고하세요.

    참고: 객체 만료 Lifecycle 구성은 불완전한 멀티파트 업로드를 제거하지 않아요. 불완전한 멀티파트 업로드를 제거하려면 이 섹션 뒷부분에서 설명하는 AbortIncompleteMultipartUpload Lifecycle 구성 작업을 사용해야 해요.

전환 및 만료 작업 외에도 다음 Lifecycle 구성 작업으로 불완전한 멀티파트 업로드를 중지하거나 만료된 객체 삭제 마커를 제거하도록 Amazon S3에 지시할 수 있어요.

  • AbortIncompleteMultipartUpload 작업 요소 – 이 요소로 멀티파트 업로드가 진행 중 상태로 유지되도록 허용할 최대 시간(일)을 설정해요. 해당 멀티파트 업로드(Lifecycle 규칙에 지정된 키 이름 prefix로 결정)가 미리 정의된 기간 안에 성공적으로 완료되지 않으면 Amazon S3는 불완전한 멀티파트 업로드를 중지해요. 자세한 내용은 "멀티파트 업로드 중단"을 참고하세요.

    참고: 객체 태그를 사용하는 필터가 있는 규칙에서는 이 Lifecycle 작업을 지정할 수 없어요.

  • ExpiredObjectDeleteMarker 작업 요소 – 버전 관리 활성화 버킷에서 비현재 버전이 0개인 삭제 마커를 만료된 객체 삭제 마커라고 해요. 이 Lifecycle 작업으로 Amazon S3가 만료된 객체 삭제 마커를 제거하도록 지시할 수 있어요. 예시는 "버전 관리 활성화 버킷에서 만료된 객체 삭제 마커 제거"를 참고하세요.

    참고: 객체 태그를 사용하는 필터가 있는 규칙에서는 이 Lifecycle 작업을 지정할 수 없어요.

Amazon S3가 객체가 비현재 상태였던 기간을 계산하는 방법

버전 관리 활성화 버킷에서는 객체의 여러 버전을 가질 수 있어요. 항상 현재 버전이 하나 있고, 0개 이상의 비현재 버전이 있어요. 객체를 업로드할 때마다 현재 버전은 비현재 버전으로 유지되고, 새로 추가된 버전(후속 버전)이 현재 버전이 돼요. 객체가 비현재 상태였던 일수를 결정하기 위해 Amazon S3는 후속 버전이 생성된 시점을 확인해요. Amazon S3는 후속 버전이 생성된 이후의 일수를 객체가 비현재 상태였던 일수로 사용해요.

S3 Lifecycle 구성을 사용할 때 객체의 이전 버전 복원 — "이전 버전 복원"에서 설명한 대로 다음 두 가지 방법 중 하나로 객체의 이전 버전을 검색할 수 있어요.

  • 방법 1 – 객체의 비현재 버전을 같은 버킷에 복사 — 복사된 객체가 해당 객체의 현재 버전이 되고 모든 객체 버전이 보존돼요.
  • 방법 2 – 객체의 현재 버전을 영구 삭제 — 현재 객체 버전을 삭제하면 사실상 비현재 버전이 해당 객체의 현재 버전이 돼요.

버전 관리 활성화 버킷에서 S3 Lifecycle 구성 규칙을 사용할 때는 모범 사례로 방법 1을 사용할 것을 권장해요.

S3 Lifecycle은 최종 일관성(eventually consistent) 모델로 동작해요. 영구 삭제한 현재 버전은 변경 사항이 모든 Amazon S3 시스템에 전파될 때까지 사라지지 않을 수 있어요. (따라서 Amazon S3는 이 삭제를 일시적으로 인지하지 못할 수 있어요.) 그 사이에 비현재 객체를 만료시키도록 구성한 Lifecycle 규칙이 복원하려는 비현재 객체를 포함해 영구 제거할 수 있어요. 그래서 방법 1에서 권장하는 대로 이전 버전을 복사하는 것이 더 안전한 대안이에요.

Lifecycle 작업 및 버킷 버전 관리 상태

다음 표는 객체에 대한 S3 Lifecycle 구성 규칙 작업의 동작을 객체가 포함된 버킷의 버전 관리 상태와 관련해 요약한 것이에요.

작업 버전 관리 없는 버킷(버전 관리 미활성화) 버전 관리 활성화 버킷 버전 관리 일시 중지 버킷
Transition — 객체 수명의 지정된 날짜나 기간에 도달할 때 Amazon S3가 객체를 지정된 스토리지 클래스로 전환해요. Amazon S3가 객체의 현재 버전을 지정된 스토리지 클래스로 전환해요. 버전 관리 활성화 버킷과 같은 동작.
Expiration — 객체 수명의 지정된 날짜나 기간에 도달할 때 Expiration 작업이 객체를 삭제하며, 삭제된 객체는 복구할 수 없어요. 현재 버전이 삭제 마커가 아니면 Amazon S3는 삭제 마커를 만들고, 그 마커가 현재 버전이 되며 기존 현재 버전은 비현재 버전으로 유지돼요. Lifecycle 작업이 버전 ID가 null인 삭제 마커를 만들고, 그 마커가 현재 버전이 돼요. 객체의 현재 버전의 버전 ID가 null이면 Expiration 작업이 이 버전을 영구 삭제해요. 그렇지 않으면 현재 버전은 비현재 버전으로 유지돼요.
NoncurrentVersionTransition — 버전 관리 활성화 또는 일시 중지 버킷의 비현재 버전의 경우, S3 Lifecycle은 객체가 비현재가 된 후 경과한 일수가 규칙의 Days after objects become noncurrent(<NoncurrentDays>)에 지정된 값과 버전 수가 규칙의 Number of newer versions to retain(<NewerNoncurrentVersions>)에 지정된 값을 모두 초과하면 객체를 전환해요. NoncurrentVersionTransition은 효과가 없어요. Amazon S3가 비현재 객체 버전을 지정된 스토리지 클래스로 전환해요. 버전 관리 활성화 버킷과 같은 동작.
NoncurrentVersionExpiration — 버전 관리 활성화 또는 일시 중지 버킷의 비현재 버전의 경우, S3 Lifecycle은 객체가 비현재가 된 후 경과한 일수가 규칙의 Days after objects become noncurrent(<NoncurrentDays>)에 지정된 값과 버전 수가 규칙의 Number of newer versions to retain(<NewerNoncurrentVersions>)에 지정된 값을 모두 초과하면 객체를 만료시켜요. NoncurrentVersionExpiration은 효과가 없어요. NoncurrentVersionExpiration 작업이 객체의 비현재 버전을 영구 삭제하며, 삭제된 객체는 복구할 수 없어요. 버전 관리 활성화 버킷과 같은 동작.

Lifecycle 규칙: 객체 수명 기준

Amazon S3가 지정된 작업을 수행할 수 있는 객체 생성(또는 수정) 후의 일수로 기간을 지정할 수 있어요.

S3 Lifecycle 구성의 Transition 및 Expiration 작업에 일수를 지정할 때 다음을 주의하세요.

  • 지정하는 값은 작업이 발생할 객체 생성 후의 일수예요.
  • Amazon S3는 규칙에 지정된 일수를 객체 생성 시각에 더하고, 결과 시각을 다음 날 자정(UTC)으로 올림해 시간을 계산해요. 예를 들어 객체가 2014년 1월 15일 오전 10시 30분(UTC)에 만들어졌고 전환 규칙에 3일을 지정했다면 객체의 전환 날짜는 2014년 1월 19일 00:00(UTC)으로 계산돼요.

참고: Amazon S3는 각 객체의 마지막 수정 날짜만 유지해요. 예를 들어 Amazon S3 콘솔은 객체의 Properties 창에 Last modified 날짜를 보여줘요. 새 객체를 처음 만들 때 이 날짜는 객체가 만들어진 날짜를 반영해요. 객체를 교체하면 날짜도 그에 따라 바뀌어요. 따라서 생성 날짜는 Last modified 날짜와 동의어예요.

Lifecycle 구성의 NoncurrentVersionTransition 및 NoncurrentVersionExpiration 작업에 일수를 지정할 때 다음을 주의하세요.

  • 지정하는 값은 객체의 버전이 비현재가 된 시점(즉, 객체가 덮어써지거나 삭제된 시점)부터 Amazon S3가 지정된 객체에 작업을 수행할 일수예요.
  • Amazon S3는 규칙에 지정된 일수를 객체의 새 후속 버전이 만들어진 시각에 더하고, 결과 시각을 다음 날 자정(UTC)으로 올림해 시간을 계산해요. 예를 들어 버킷에 2014년 1월 1일 오전 10시 30분(UTC)에 만들어진 현재 버전의 객체가 있다고 가정해 보세요. 현재 버전을 대체하는 객체의 새 버전이 2014년 1월 15일 오전 10시 30분(UTC)에 만들어지고 전환 규칙에 3일을 지정했다면 객체의 전환 날짜는 2014년 1월 19일 00:00(UTC)으로 계산돼요.

Lifecycle 규칙: 특정 날짜 기준

S3 Lifecycle 규칙에서 작업을 지정할 때 Amazon S3가 작업을 수행하길 원하는 날짜를 지정할 수 있어요. 특정 날짜가 되면 Amazon S3는 모든 대상 객체(필터 기준)에 작업을 적용해요.

과거인 날짜로 S3 Lifecycle 작업을 지정하면 모든 대상 객체가 즉시 해당 Lifecycle 작업의 대상이 돼요.

중요: 날짜 기반 작업은 일회성 작업이 아니에요. 규칙 상태가 Enabled인 한 날짜가 지난 후에도 Amazon S3는 날짜 기반 작업을 계속 적용해요.

예를 들어 모든 객체를 삭제하는 날짜 기반 Expiration 작업을 지정했다고 가정해 보세요(규칙에 필터가 지정되지 않았다고 가정). 지정된 날짜에 Amazon S3는 버킷의 모든 객체를 만료시켜요. Amazon S3는 버킷에서 만드는 새 객체도 계속 만료시켜요. Lifecycle 작업을 중지하려면 Lifecycle 규칙에서 작업을 제거하거나, 규칙을 비활성화하거나, Lifecycle 구성에서 규칙을 삭제해야 해요.

날짜 값은 ISO 8601 형식을 따라야 해요. 시간은 항상 자정(UTC)이에요.

참고: Amazon S3 콘솔로는 날짜 기반 Lifecycle 규칙을 만들 수 없지만, 그런 규칙을 보거나 비활성화하거나 삭제할 수는 있어요.

더 알아보기 (Learn more)