수명 주기 규칙에 필터 추가 - Amazon Simple Storage Service

수명 주기 규칙에 필터 추가

필터는 규칙이 적용되는 객체를 지정하는 데 사용할 수 있는 선택적 수명 주기 규칙 요소입니다.

다음 요소를 사용하여 객체를 필터링할 수 있습니다.

키 접두사

접두사를 기준으로 객체를 필터링할 수 있습니다. 별도의 규칙을 지정하여 2개 이상의 접두사 아래에 있는 객체 하위 집합에 수명 주기 작업을 적용할 수 있습니다. 각각의 규칙에서 접두사 기반 필터를 지정하십시오. 자세한 내용은 [예제]를 참조하세요.

객체 태그

하나 이상의 태그를 기준으로 객체를 필터링할 수 있습니다. 각 태그는 키와 값이 모두 정확히 일치해야 하며, 복수의 태그를 지정할 경우 각각의 태그 키가 고유해야 합니다. 객체 태그가 여러 개 있는 필터는 지정된 모든 태그가 있는 객체의 하위 집합에 적용됩니다. 객체에 추가 태그가 지정되어 있더라도 필터는 계속 적용됩니다.

참고

Key 요소만 지정하고 Value 요소는 지정하지 않는 경우, 규칙은 태그 키와 일치하고 값이 지정되지 않은 객체에만 적용됩니다.

최소 또는 최대 객체 크기

크기를 기준으로 객체를 필터링할 수 있습니다. 최소 크기(ObjectSizeGreaterThan) 또는 최대 크기(ObjectSizeLessThan)를 지정하거나 동일한 필터에서 객체 크기 범위를 지정할 수 있습니다. 객체 크기 값은 바이트 단위입니다. 최대 필터 크기는 5TB입니다. Amazon S3는 기본 최소 객체 크기를 수명 주기 구성에 적용합니다. 자세한 내용은 [EMBERS]를 참조하세요.

서로 다른 필터 요소를 결합할 수 있으며, 이 경우 Amazon S3는 논리적 AND를 사용합니다.

필터링 예제

다음은 서로 다른 필터 요소를 사용할 수 있는 방법을 보여주는 예제입니다.

  • 키 접두사를 사용하여 필터 지정 – 이 예시는 키 이름 접두사(logs/)에 기반하여 객체의 하위 집합에 적용되는 S3 수명 주기 규칙을 보여 줍니다. 예를 들어, 이 수명 주기 규칙은 객체 logs/mylog.txt, logs/temp1.txtlogs/test.txt에 적용됩니다. 이 규칙은 객체 example.jpg에는 적용되지 않습니다.

    <LifecycleConfiguration> <Rule> <Filter> <Prefix>logs/</Prefix> </Filter> transition/expiration actions ... </Rule> ... </LifecycleConfiguration>
    참고

    동일한 문자로 시작하는 접두사가 하나 이상 있는 경우 필터에 후행 슬래시(/)가 없는 부분 접두사를 지정하여 규칙에 해당 접두사를 모두 포함할 수 있습니다. 예를 들어, 다음과 같은 접두사가 있다고 가정해 보세요.

    sales1999/ sales2000/ sales2001/

    규칙에 세 접두사를 모두 포함하려면 수명 주기 규칙에서 sales를 접두사로 지정합니다.

    다른 키 이름 접두사에 기반하여 객체의 하위 집합에 수명 주기 작업을 적용하려면 별도의 규칙을 지정하십시오. 각각의 규칙에서 접두사 기반 필터를 지정하십시오. 예를 들어, 키 접두사 projectA/projectB/를 가진 객체의 수명 주기 작업을 설명하려면 아래와 같이 두 가지 규칙을 지정합니다.

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

    객체 키에 대한 자세한 내용은 Amazon S3 객체 이름 지정 섹션을 참조하십시오.

  • 객체 태그에 기반한 필터 지정 - 다음 예시에서 수명 주기 규칙은 태그(key)와 값(value)에 기반하여 필터를 지정합니다. 그러면 규칙은 특정 태그를 가진 객체의 하위 집합에만 적용됩니다.

    <LifecycleConfiguration> <Rule> <Filter> <Tag> <Key>key</Key> <Value>value</Value> </Tag> </Filter> transition/expiration actions ... </Rule> </LifecycleConfiguration>

    여러 개의 태그를 기반으로 필터를 지정할 수 있습니다. 다음 예시와 같이 <And> 요소로 태그를 묶어야 합니다. 규칙은 2개의 태그(특정 태그 키와 값)를 가진 객체에서 수명 주기 작업을 수행하도록 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>

    수명 주기 규칙은 태그 2개가 모두 지정된 객체에 적용됩니다. Amazon S3가 논리적 AND를 수행합니다. 유의할 사항:

    • 각 태그는 키 및 값 모두와 정확히 일치해야 합니다. <Key> 요소만 지정하고 <Value> 요소는 지정하지 않는 경우, 규칙은 태그 키와 일치하고 값이 지정되지 않은 객체에만 적용됩니다.

    • 이 규칙은 규칙에 모든 태그가 지정되는 객체의 하위 집합에 적용됩니다. 객체에 추가 태그가 지정되어 있더라도 규칙은 계속 적용됩니다.

    참고

    필터에서 복수의 태그를 지정할 경우, 각각의 태그 키가 고유해야 합니다.

  • 접두사와 하나 이상의 태그에 기반한 필터 지정 - 수명 주기 규칙에서 키 접두사 및 하나 이상의 태그에 기반하여 필터를 지정할 수 있습니다. 이 경우에도 아래와 같이 이 모든 필터 요소를 <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를 사용하여 이러한 필터를 조합합니다. 즉, 규칙은 특정 키 접두사와 특정 태그를 가진 객체의 하위 집합에 적용됩니다. 필터는 단 1개의 접두사와 0개 이상의 태그를 가질 수 있습니다.

  • 빈 필터 지정 – 빈 필터를 지정할 수도 있는데, 이 경우에 규칙은 버킷 내 모든 객체에 적용됩니다.

    <LifecycleConfiguration> <Rule> <Filter> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>
  • >객체 크기 필터 지정 - 객체 크기별로 규칙을 필터링하려면 최소 크기(ObjectSizeGreaterThan) 또는 최대 크기(ObjectSizeLessThan)를 지정하거나 객체 크기 범위를 지정하면 됩니다.

    객체 크기 값은 바이트 단위입니다. 최대 필터 크기는 5TB입니다. 일부 스토리지 클래스에는 최소 객체 크기 제한이 있습니다. 자세한 내용은 Amazon S3 스토리지 클래스 비교 단원을 참조하십시오.

    <LifecycleConfiguration> <Rule> <Filter> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>
    참고

    ObjectSizeGreaterThanObjectSizeLessThan 필터는 지정된 값을 제외합니다. 예를 들어 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>