3.10.3. 라이프사이클 관리 정책 업데이트
s3cmd put-bucket-lifecycle-configuration 명령을 사용하여 라이프사이클 관리 정책을 업데이트할 수 있습니다.
put-bucket-lifecycle-configuration 은 기존 버킷 라이프사이클 구성을 덮어씁니다. 현재 라이프사이클 정책 설정을 유지하려면 이를 라이프사이클 구성 파일에 포함해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Storage 클러스터.
- Ceph 개체 게이트웨이 설치.
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
- S3 버킷이 생성되었습니다.
- 사용자 액세스 권한으로 생성된 S3 사용자.
-
AWS CLI패키지가 설치된 Ceph Object Gateway 클라이언트에 액세스합니다.
절차
라이프사이클 구성에 대한 JSON 파일을 생성합니다.
예제
[user@client ~]$ vi lifecycle.json파일에 특정 라이프사이클 구성 규칙을 추가합니다.
예제
{ "Rules": [ { "Filter": { "Prefix": "images/" }, "Status": "Enabled", "Expiration": { "Days": 1 }, "ID": "ImageExpiration" }, { "Filter": { "Prefix": "docs/" }, "Status": "Enabled", "Expiration": { "Days": 30 }, "ID": "DocsExpiration" } ] }버킷에서 라이프사이클 구성을 업데이트합니다.
구문
aws --endpoint-url=RADOSGW_ENDPOINT_URL:PORT s3api put-bucket-lifecycle-configuration --bucket BUCKET_NAME --lifecycle-configuration file://PATH_TO_LIFECYCLE_CONFIGURATION_FILE/LIFECYCLE_CONFIGURATION_FILE.json예제
[user@client ~]$ aws --endpoint-url=http://host01:80 s3api put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://lifecycle.json
검증
버킷의 라이프사이클 구성을 검색합니다.
구문
aws --endpointurl=RADOSGW_ENDPOINT_URL:PORT s3api get-bucket-lifecycle-configuration --bucket BUCKET_NAME예제
[user@client ~]$ aws -endpoint-url=http://host01:80 s3api get-bucket-lifecycle-configuration --bucket testbucket { "Rules": [ { "Expiration": { "Days": 30 }, "ID": "DocsExpiration", "Filter": { "Prefix": "docs/" }, "Status": "Enabled" }, { "Expiration": { "Days": 1 }, "ID": "ImageExpiration", "Filter": { "Prefix": "images/" }, "Status": "Enabled" } ] }선택 사항: Ceph Object Gateway 노드에서 Cephadm 쉘에 로그인하고 버킷 라이프사이클 구성을 검색합니다.
구문
radosgw-admin lc get --bucket=BUCKET_NAME예제
[root@rgw ~]# radosgw-admin lc get --bucket=testbucket { "prefix_map": { "docs/": { "status": true, "dm_expiration": false, "expiration": 1, "noncur_expiration": 0, "mp_expiration": 0, "transitions": {}, "noncur_transitions": {} }, "images/": { "status": true, "dm_expiration": false, "expiration": 1, "noncur_expiration": 0, "mp_expiration": 0, "transitions": {}, "noncur_transitions": {} } }, "rule_map": [ { "id": "DocsExpiration", "rule": { "id": "DocsExpiration", "prefix": "", "status": "Enabled", "expiration": { "days": "30", "date": "" }, "noncur_expiration": { "days": "", "date": "" }, "mp_expiration": { "days": "", "date": "" }, "filter": { "prefix": "docs/", "obj_tags": { "tagset": {} } }, "transitions": {}, "noncur_transitions": {}, "dm_expiration": false } }, { "id": "ImageExpiration", "rule": { "id": "ImageExpiration", "prefix": "", "status": "Enabled", "expiration": { "days": "1", "date": "" }, "mp_expiration": { "days": "", "date": "" }, "filter": { "prefix": "images/", "obj_tags": { "tagset": {} } }, "transitions": {}, "noncur_transitions": {}, "dm_expiration": false } } ] }