S3 라이프사이클 구성을 생성합니다
S3 라이프사이클 구성을 생성하여 StorageGRID 시스템에서 특정 오브젝트 삭제 시기를 제어할 수 있습니다.
이 섹션의 간단한 예는 S3 라이프사이클 구성에서 특정 S3 버킷에서 특정 객체가 삭제(만료)되는 시기를 제어하는 방법을 보여줍니다. 이 섹션의 예제는 설명을 위한 것입니다. S3 라이프사이클 구성 생성에 대한 자세한 내용은 를 참조하십시오 "Amazon Simple Storage Service 개발자 가이드: 개체 수명 주기 관리". StorageGRID는 만료 작업만 지원하며 전환 작업은 지원하지 않습니다.
문서 수정 상태 설정은 무엇입니까
라이프사이클 구성은 특정 S3 버킷의 오브젝트에 적용되는 규칙 세트입니다. 각 규칙은 영향을 받는 개체와 해당 개체가 만료되는 시기(특정 날짜 또는 특정 일 수 이후)를 지정합니다.
StorageGRID는 수명 주기 구성에서 최대 1,000개의 수명 주기 규칙을 지원합니다. 각 규칙에는 다음 XML 요소가 포함될 수 있습니다.
-
만료: 지정된 날짜에 도달하거나 지정된 일 수에 도달할 때 개체를 인제스트할 때로부터 개체를 삭제합니다.
-
NoncurrentVersionExpiration: 지정된 일 수에 도달할 때 개체가 비전류가 되었을 때부터 개체를 삭제합니다.
-
필터(접두사, 태그)
-
상태
-
ID입니다
버킷에 라이프사이클 구성을 적용하는 경우 버킷의 라이프사이클 설정은 항상 StorageGRID ILM 설정을 재정의합니다. StorageGRID는 ILM이 아닌 버킷의 만료 설정을 사용하여 특정 개체의 삭제 또는 유지 여부를 결정합니다.
따라서 ILM 규칙의 배치 지침이 개체에 계속 적용되더라도 그리드에서 개체를 제거할 수 있습니다. 또는 개체에 대한 ILM 배치 지침이 만료된 후에도 개체가 그리드에 남아 있을 수 있습니다. 자세한 내용은 을 참조하십시오 ILM이 개체 수명 전반에 걸쳐 작동하는 방식.
버킷 수명 주기 구성은 S3 오브젝트 잠금이 활성화된 버킷과 함께 사용할 수 있지만 버킷 수명 주기 구성은 레거시 준수 버킷에서 지원되지 않습니다. |
StorageGRID는 다음 버킷 작업을 사용하여 라이프사이클 구성을 관리합니다.
-
버킷 수명 주기를 삭제합니다
-
버킷 수명 주기 가져오기
-
버킷 수명 주기를 놓습니다
문서 수정 상태 설정 작성
라이프사이클 구성을 만드는 첫 번째 단계에서는 하나 이상의 규칙이 포함된 JSON 파일을 만듭니다. 예를 들어 이 JSON 파일에는 다음과 같은 세 가지 규칙이 포함되어 있습니다.
-
규칙 1은 접두사 categy1과 일치하고 key2 값이 tag2 인 객체에만 적용됩니다. Expiration 매개변수는 필터와 일치하는 객체가 2020년 8월 22일 자정에 만료되도록 지정합니다.
-
규칙 2는 접두사 'category2'/ 와 일치하는 객체에만 적용됩니다. Expiration 매개 변수는 필터와 일치하는 객체가 수집되고 100일 후에 만료되도록 지정합니다.
일 수를 지정하는 규칙은 오브젝트가 수집된 시점을 기준으로 합니다. 현재 날짜가 수집 날짜와 일 수를 더한 값을 초과하면 라이프사이클 구성이 적용되는 즉시 일부 객체가 버킷에서 제거될 수 있습니다. -
규칙 3은 접두사 'category3'/ 와 일치하는 객체에만 적용됩니다. Expiration 매개 변수는 일치하는 객체의 비최신 버전이 비최신 상태가 된 후 50일 후에 만료되도록 지정합니다.
{ "Rules": [ { "ID": "rule1", "Filter": { "And": { "Prefix": "category1/", "Tags": [ { "Key": "key2", "Value": "tag2" } ] } }, "Expiration": { "Date": "2020-08-22T00:00:00Z" }, "Status": "Enabled" }, { "ID": "rule2", "Filter": { "Prefix": "category2/" }, "Expiration": { "Days": 100 }, "Status": "Enabled" }, { "ID": "rule3", "Filter": { "Prefix": "category3/" }, "NoncurrentVersionExpiration": { "NoncurrentDays": 50 }, "Status": "Enabled" } ] }
버킷에 라이프사이클 구성을 적용합니다
문서 수정 상태 구성 파일을 작성한 후 PUT Bucket 수명주기 요청을 실행하여 이를 버킷에 적용합니다.
이 요청은 예제 파일의 수명 주기 구성을 'testbucket'이라는 이름의 버킷의 개체에 적용합니다.
aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://bktjson.json
라이프사이클 구성이 버킷에 성공적으로 적용되었는지 확인하려면 Get Bucket 수명주기 요청을 실행합니다. 예를 들면 다음과 같습니다.
aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration --bucket testbucket
성공적으로 응답하면 방금 적용한 문서 수정 상태 설정이 나열됩니다.
버킷 수명 주기 만료가 객체에 적용되는지 확인합니다
Put Object, Head Object 또는 Get Object 요청을 실행할 때 수명 주기 구성의 만료 규칙이 특정 개체에 적용되는지 확인할 수 있습니다. 규칙이 적용될 경우 응답에는 개체 만료 시기 및 일치하는 만료 규칙을 나타내는 Expiration 매개 변수가 포함됩니다.
버킷 라이프사이클이 ILM을 무시하기 때문에 표시된 '만료 날짜'는 객체가 삭제될 실제 날짜입니다. 자세한 내용은 을 참조하십시오 개체 보존이 결정되는 방식. |
예를 들어, 이 PUT 오브젝트 요청은 2020년 6월 22일에 발행되었으며 'testbucket' 버킷에 오브젝트를 배치했습니다.
aws s3api --endpoint-url <StorageGRID endpoint> put-object --bucket testbucket --key obj2test2 --body bktjson.json
성공 응답은 개체가 100일(2020년 10월 1일) 내에 만료되고 라이프사이클 구성의 규칙 2와 일치함을 나타냅니다.
{
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}
예를 들어, 이 head Object 요청은 testbucket 버킷에서 동일한 객체에 대한 메타데이터를 가져오는 데 사용되었습니다.
aws s3api --endpoint-url <StorageGRID endpoint> head-object --bucket testbucket --key obj2test2
성공 응답에는 개체의 메타데이터가 포함되며 개체가 100일 후에 만료되고 규칙 2와 일치함을 나타냅니다.
{
"AcceptRanges": "bytes",
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:48 GMT\", rule-id=\"rule2\"",
"LastModified": "2020-06-23T09:07:48+00:00",
"ContentLength": 921,
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
"ContentType": "binary/octet-stream",
"Metadata": {}
}