2.4.10. S3 버킷 라이프사이클

버킷 라이프사이클 구성을 사용하여 수명 주기 전체에 효율적으로 저장되도록 개체를 관리할 수 있습니다. Ceph Object Gateway의 S3 API는 AWS 버킷 라이프사이클 작업의 하위 집합을 지원합니다.

  • expiration: 버킷 내에서 오브젝트의 수명을 정의합니다. Ceph Object Gateway가 오브젝트를 삭제하는 데 걸리는 시간(주로) 또는 만료일입니다. 버킷에서 버전 관리를 활성화하지 않으면 Ceph Object Gateway가 오브젝트를 영구적으로 삭제합니다. 버킷에서 버전 관리를 활성화하면 Ceph Object Gateway가 현재 버전에 대한 삭제 마커를 생성한 다음 현재 버전을 삭제합니다.
  • NoncurrentVersionExpiration: 버킷 내에서 유효하지 않은 오브젝트 버전의 수명을 정의합니다. 이 기능을 사용하려면 버킷에서 버전 관리를 활성화해야 합니다. 현재 개체가 활성 상태가 되는 일 수가 소요되며, 이 시점에서 Ceph Object Gateway가 유효하지 않은 오브젝트를 삭제합니다.
  • AbortIncompleteMultipartUpload: 이는 불완전한 다중 파트 업로드가 중단되기 전에 활성화되어야 하는 일 수를 정의합니다.

라이프사이클 구성에는 < Rule> 요소를 사용하는 하나 이상의 규칙이 포함됩니다.

예제

<LifecycleConfiguration>
    <Rule>
      <Prefix/>
      <Status>Enabled</Status>
      <Expiration>
        <Days>10</Days>
      </Expiration>
    </Rule>
</LifecycleConfiguration>

라이프사이클 규칙은 라이프사이클 규칙에서 지정하는 < Filter > 요소를 기반으로 버킷의 모든 개체 또는 하위 집합에 적용할 수 있습니다. 다양한 방법으로 필터를 지정할 수 있습니다.

  • 키 접두사
  • 오브젝트 태그
  • 키 접두사 및 하나 이상의 오브젝트 태그 둘 다

키 접두사

키 이름 접두사를 기반으로 오브젝트의 하위 집합에 라이프사이클 규칙을 적용할 수 있습니다. 예를 들어 < keypre/ >를 지정하면 keypre/:로 시작하는 오브젝트에 적용됩니다.

<LifecycleConfiguration>
    <Rule>
        <Status>Enabled</Status>
        <Filter>
           <Prefix>keypre/</Prefix>
        </Filter>
    </Rule>
</LifecycleConfiguration>

다른 키 접두사를 사용하여 오브젝트에 다른 라이프사이클 규칙을 적용할 수도 있습니다.

<LifecycleConfiguration>
    <Rule>
        <Status>Enabled</Status>
        <Filter>
           <Prefix>keypre/</Prefix>
        </Filter>
    </Rule>
    <Rule>
        <Status>Enabled</Status>
        <Filter>
           <Prefix>mypre/</Prefix>
        </Filter>
    </Rule>
</LifecycleConfiguration>

오브젝트 태그

< Key > 및 < Value > 요소를 사용하여 특정 태그가 있는 오브젝트에만 라이프사이클 규칙을 적용할 수 있습니다.

<LifecycleConfiguration>
    <Rule>
        <Status>Enabled</Status>
        <Filter>
           <Tag>
              <Key>key</Key>
              <Value>value</Value>
           </Tag>
        </Filter>
    </Rule>
</LifecycleConfiguration>

접두사 및 하나 이상의 태그 둘 다

라이프사이클 규칙에서는 키 접두사와 하나 이상의 태그를 기반으로 필터를 지정할 수 있습니다. <And>요소에 묶을 필요가 있습니다. 하나의 필터는 접두사가 하나뿐이고 0개 이상의 태그를 포함할 수 있습니다.

<LifecycleConfiguration>
    <Rule>
        <Status>Enabled</Status>
        <Filter>
          <And>
             <Prefix>key-prefix</Prefix>
             <Tag>
                <Key>key1</Key>
                <Value>value1</Value>
             </Tag>
             <Tag>
                <Key>key2</Key>
                <Value>value2</Value>
             </Tag>
              ...
          </And>
        </Filter>
    </Rule>
</LifecycleConfiguration>