불완전한 멀티파트 업로드를 중단하도록 버킷 수명 주기 정책 구성
모범 사례로, 저장 비용을 최소화하도록 수명 주기 규칙(AbortIncompleteMultipartUpload
작업 사용)을 구성할 것을 권장합니다. 멀티파트 업로드 중단에 대한 자세한 내용은 멀티파트 업로드 중단 단원을 참조하세요.
이제 Amazon S3는 시작된 후 지정 일수 내에 완료되지 않은 멀티파트 업로드를 중단하도록 Amazon S3에 지시하는 데 사용할 수 있는 버킷 수명 주기 규칙을 지원합니다. 멀티파트 업로드가 시간 주기 내에 완료되지 않은 경우, 중단 작업을 할 수 있는 조건이 되어 Amazon S3는 멀티파트 업로드를 중지하고 멀티파트 업로드에 연결된 부분을 삭제합니다.
다음은 AbortIncompleteMultipartUpload
작업으로 규칙을 지정하는 수명 주기 구성의 예시입니다.
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix></Prefix> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>
이 예제에서 규칙은 Prefix
요소의 값(객체 키 이름 접두사)을 지정하지 않습니다. 따라서 멀티파트 업로드를 시작한 버킷의 모든 객체에 적용됩니다. 시작되고 7일 이내에 완료되지 않은 멀티파트 업로드는 중단 작업을 수행할 수 있습니다. 중단 작업은 완료된 멀티파트 업로드에 영향을 주지 않습니다.
버킷 수명 주기 구성에 대한 자세한 내용은 스토리지 수명 주기 관리 단원을 참조하십시오.
멀티파트 업로드가 규칙에 지정된 일수 내에 완료되면 AbortIncompleteMultipartUpload
수명 주기 작업은 적용되지 않습니다(즉, Amazon S3는 어떤 작업도 하지 않습니다). 또한 이 작업은 객체에는 적용되지 않습니다. 이 수명 주기 작업으로 객체가 삭제되지는 않습니다.
다음 put-bucket-lifecycle-configuration
CLI 명령은 지정된 버킷에 수명 주기 구성을 추가합니다.
$
aws s3api put-bucket-lifecycle-configuration \ --bucketbucketname
\ --lifecycle-configurationfilename-containing-lifecycle-configuration
CLI 명령을 테스트하려면 다음과 같이 합니다.
AWS CLI를 설정합니다. 지침은 AWS CLI를 사용하여 Amazon S3에서 개발 단원을 참조하세요.
파일(lifecycle.json)에 다음과 같은 수명 주기 구성 예시를 저장합니다. 예시 구성에서는 빈 접두사를 지정하므로 버킷에 있는 모든 객체에 적용됩니다. 접두사를 지정하여 정책을 객체의 하위 집합으로 제한할 수 있습니다.
{ "Rules": [ { "ID": "Test Rule", "Status": "Enabled", "Filter": { "Prefix": "" }, "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 } } ] }
다음 CLI 명령을 사용하여 버킷에서 수명 주기 구성을 설정합니다.
aws s3api put-bucket-lifecycle-configuration \ --bucket
bucketname
\ --lifecycle-configuration file://lifecycle.json확인하려면
get-bucket-lifecycle
CLI 명령을 사용해 수명 주기 구성을 조회합니다.aws s3api get-bucket-lifecycle \ --bucket
bucketname
수명 주기 구성을 삭제하려면
delete-bucket-lifecycle
CLI 명령을 사용합니다.aws s3api delete-bucket-lifecycle \ --bucket
bucketname