티스토리 뷰

공부

[aws] s3 lifecycle

승가비 2023. 1. 7. 22:41
728x90
Lifecycle rule 에 의해 만료된 object 를 삭제하는 작업의 트리거는 자정 00:00 (UTC)에 수행됩니다.
Expire Date + alpha 로 자정이 되었을때, rule이 평가되고 object를 flag 하여 queue 에 넣고 삭제를 시작하게 됩니다.
비동기로 진행되므로 object 의 건수나 사이즈에 따라 실제 삭제가 완료되는 시점은 조금 delay 될 수 있습니다.
따라서 life cycle rule 이 제대로 수행되는지 확인하기 위해 여분의 시간이 필요합니다. 일반적으로 +48 시간 이내에는 완료 될 겁니다.

 

lifecycle

  • template
  • a/b/c/__30
    
    (.*)__(.*)
    
    {
      "ID": "$1__$2",
      "Filter": {
        "Prefix": "$1"
      },
      "Status": "Enabled",
      "Expiration": {
        "Days": $2
      },
      "NoncurrentVersionExpiration": {
        "NewerNoncurrentVersions": 1,
        "NoncurrentDays": 1
      },
      "AbortIncompleteMultipartUpload": {
        "DaysAfterInitiation": 1
      }
    },
  • get-bucket-lifecycle-configuration
  • aws s3api list-buckets --query "Buckets[].Name" |
      jq -r ".[]" |
        while read bucket ; do
          aws s3api get-bucket-lifecycle-configuration \
            --bucket ${bucket} \
            > ./json/lifecycle_${bucket}.json
        done
    
  • put-bucket-lifecycle-configuration (overwrite)
  • aws s3api list-buckets --query "Buckets[].Name" |
      jq -r ".[]" |
        while read bucket ; do
          aws s3api put-bucket-lifecycle-configuration \
            --bucket ${bucket} \
            --lifecycle-configuration file://./json/lifecycle_${bucket}.json
        done
    

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/lifecycle-configuration-examples.html

 

S3 수명 주기 구성의 예제 - Amazon Simple Storage Service

동일한 규칙에 Days 및 ExpiredObjectDeleteMarker 태그를 모두 지정할 수는 없습니다. Days 태그를 지정하면 삭제 마커의 기간이 사용 기간 기준을 충족할 때 Amazon S3가 자동으로 ExpiredObjectDeleteMarker 정리

docs.aws.amazon.com

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-lifecycle.html

 

put-bucket-lifecycle — AWS CLI 2.9.13 Command Reference

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspend

awscli.amazonaws.com

https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsLifecycleCLIJava.html#S3OutpostsPutBucketLifecycleConfiguration

 

Creating and managing a lifecycle configuration by using the AWS CLI and SDK for Java - Amazon Simple Storage Service

The AWS account that creates the bucket owns it and is the only one that can create, enable, disable, or delete a lifecycle rule.

docs.aws.amazon.com

https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-lifecycle-configuration.html

 

get-bucket-lifecycle-configuration — AWS CLI 1.27.45 Command Reference

Note: You are viewing the documentation for an older major version of the AWS CLI (version 1). AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. F

docs.aws.amazon.com

 

728x90

'공부' 카테고리의 다른 글

[vi] page up & down  (0) 2023.01.07
[python] random.randomrange(start, end, interval)  (0) 2023.01.07
[aws] s3 mkdir  (0) 2023.01.07
[aws] s3 bucket list  (0) 2023.01.07
[airflow] `(reached max retries: 4): Rate exceeded`  (0) 2023.01.07
댓글