불완전한 멀티파트 업로드를 삭제하도록 버킷 수명 주기 구성 설정
모범 사례로, 저장 비용을 최소화하도록 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가 어떤 작업도 하지 않음). 또한 이 작업이 객체에도 적용되지 않습니다. 이 수명 주기 작업으로 객체가 삭제되지는 않습니다. 또한 불완전한 멀티파트 업로드 부분을 제거하더라도 S3 수명 주기에 대한 조기 삭제 요금이 발생하지 않습니다.
불완전한 멀티파트 업로드를 자동으로 관리하려면, 지정된 일수가 지난 후에 버킷에서 미완료 멀티파트 업로드 바이트를 만료시키는 수명 주기 규칙을 S3 콘솔을 사용하여 만들면 됩니다. 다음 절차는 7일 후 미완료 멀티파트 업로드를 삭제하기 위한 수명 주기 규칙을 추가하는 방법을 보여줍니다. 수명 주기 규칙에 대한 자세한 내용은 버킷에서 S3 수명 주기 구성 설정 페이지를 참조하십시오.
7일 이상 지난 미완료 멀티파트 업로드를 중단하기 위한 수명 주기 규칙을 추가하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
버킷(Buckets) 목록에서 수명 주기 규칙을 생성할 버킷의 이름을 선택합니다.
-
관리(Management) 탭을 선택하고 수명 주기 규칙 생성(Create lifecycle rule)을 선택합니다.
-
수명 주기 규칙 이름(Lifecycle rule name)에 규칙의 이름을 입력합니다.
단, 버킷 내에서 고유한 이름을 갖도록 합니다.
-
수명 주기 규칙의 범위를 선택합니다.
-
특정 접두사가 있는 모든 객체에 수명 주기 규칙을 생성하려면 Limit the scope of this rule using one or more filters(하나 이상의 필터를 사용하여 이 규칙의 범위 제한)를 선택하고 Prefix(접두사) 필드에 접두사를 입력합니다.
-
이 수명 주기 규칙을 버킷의 모든 객체에 적용하려면 This rule applies to all objects in the bucket(이 규칙이 버킷의 모든 객체에 적용됨)을 선택하고 I acknowledge that this rule applies to all objects in the bucket(이 규칙이 버킷의 모든 객체에 적용됨을 확인합니다)을 선택합니다.
-
-
Lifecycle rule actions(수명 주기 규칙 작업)에서 Delete expired object delete markers or incomplete multipart uploads(만료된 객체 삭제 마커 또는 미완료 멀티파트 업로드 삭제)를 선택합니다.
-
Delete expired object delete markers or incomplete multipart uploads(만료된 객체 삭제 마커 또는 미완료 멀티파트 업로드 삭제)에서 Delete incomplete multipart uploads(미완료 멀티파트 업로드 삭제)를 선택합니다.
-
Number of days(일수) 필드에, 미완료 멀티파트 업로드를 삭제하기까지의 경과 일수(이 예에서는 7일)를 입력합니다.
-
Create rule을 선택합니다.
다음put-bucket-lifecycle-configuration
AWS Command Line Interface(AWS CLI) 명령은 지정된 버킷에 수명 주기 구성을 추가합니다. 이 명령을 사용하려면
를 자체 정보로 대체합니다.user input placeholders
aws s3api put-bucket-lifecycle-configuration \ --bucket
amzn-s3-demo-bucket
\ --lifecycle-configurationfilename-containing-lifecycle-configuration
다음 예제는 AWS CLI를 사용하여 미완료 멀티파트 업로드를 중단하는 수명 주기 규칙을 추가하는 방법을 보여줍니다. 여기에는 7일 이상 경과된 미완료 멀티파트 업로드를 중단하기 위한 JSON 수명 주기 구성 예제가 포함되어 있습니다.
이 예제에서 CLI 명령을 사용하려면
를 자체 정보로 대체합니다.user input
placeholders
미완료 멀티파트 업로드를 중단하기 위한 수명 주기 규칙을 추가하려면
-
AWS CLI를 설정합니다. 자세한 내용은 Amazon S3 API 참조의 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
amzn-s3-demo-bucket
\ --lifecycle-configuration file://lifecycle.json
-
버킷에 수명 주기 구성이 설정되었는지 확인하려면 다음
get-bucket-lifecycle
명령을 사용하여 수명 주기 구성을 검색합니다.aws s3api get-bucket-lifecycle \ --bucket
amzn-s3-demo-bucket
-
수명 주기 구성을 삭제하려면 다음
delete-bucket-lifecycle
명령을 사용합니다.aws s3api delete-bucket-lifecycle \ --bucket
amzn-s3-demo-bucket