

# 불완전한 멀티파트 업로드를 삭제하도록 버킷 수명 주기 구성 설정
<a name="mpu-abort-incomplete-mpu-lifecycle-config"></a>

모범 사례로, 저장 비용을 최소화하도록 `AbortIncompleteMultipartUpload` 작업을 사용하여 수명 주기 규칙을 구성할 것을 권장합니다. 멀티파트 업로드 중단에 대한 자세한 내용은 [멀티파트 업로드 중단](abort-mpu.md) 단원을 참조하십시오.

이제 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` 요소의 값([객체 키 이름 접두사](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix))을 지정하지 않습니다. 따라서 멀티파트 업로드를 시작한 버킷의 모든 객체에 규칙이 적용됩니다. 시작된 후 7일 이내에 완료되지 않은 멀티파트 업로드는 중단 작업을 수행할 수 있습니다. 중단 작업은 완료된 멀티파트 업로드에 영향을 주지 않습니다.

버킷 수명 주기 구성에 대한 자세한 내용은 [객체 수명 주기 관리](object-lifecycle-mgmt.md) 섹션을 참조하세요.

**참고**  
규칙에 지정된 일수 내에 멀티파트 업로드가 완료되면 `AbortIncompleteMultipartUpload` 수명 주기 작업은 적용되지 않습니다(즉, Amazon S3가 어떤 작업도 하지 않음). 또한 이 작업이 객체에도 적용되지 않습니다. 이 수명 주기 작업으로 객체가 삭제되지는 않습니다. 또한 불완전한 멀티파트 업로드 부분을 제거하더라도 S3 수명 주기에 대한 조기 삭제 요금이 발생하지 않습니다.

## S3 콘솔 사용
<a name="mpu-abort-incomplete-mpu-lifecycle-config-console"></a>

불완전한 멀티파트 업로드를 자동으로 관리하려면, 지정된 일수가 지난 후에 버킷에서 미완료 멀티파트 업로드 바이트를 만료시키는 수명 주기 규칙을 S3 콘솔을 사용하여 만들면 됩니다. 다음 절차는 7일 후 미완료 멀티파트 업로드를 삭제하기 위한 수명 주기 규칙을 추가하는 방법을 보여줍니다. 수명 주기 규칙에 대한 자세한 내용은 [버킷에서 S3 수명 주기 구성 설정](how-to-set-lifecycle-configuration-intro.md) 페이지를 참조하십시오.

**7일 이상 지난 미완료 멀티파트 업로드를 중단하기 위한 수명 주기 규칙을 추가하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **버킷(Buckets)** 목록에서 수명 주기 규칙을 생성할 버킷의 이름을 선택합니다.

1. **관리(Management)** 탭을 선택하고 **수명 주기 규칙 생성(Create lifecycle rule)**을 선택합니다.

1.  **수명 주기 규칙 이름(Lifecycle rule name)**에 규칙의 이름을 입력합니다.

   단, 버킷 내에서 고유한 이름을 갖도록 합니다.

1. 수명 주기 규칙의 범위를 선택합니다.
   + 특정 접두사가 있는 모든 객체에 수명 주기 규칙을 생성하려면 **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**(이 규칙이 버킷의 모든 객체에 적용됨을 확인합니다)을 선택합니다.

1. **Lifecycle rule actions**(수명 주기 규칙 작업)에서 **Delete expired object delete markers or incomplete multipart uploads**(만료된 객체 삭제 마커 또는 미완료 멀티파트 업로드 삭제)를 선택합니다.

1. **Delete expired object delete markers or incomplete multipart uploads**(만료된 객체 삭제 마커 또는 미완료 멀티파트 업로드 삭제)에서 **Delete incomplete multipart uploads**(미완료 멀티파트 업로드 삭제)를 선택합니다.

1. **Number of days**(일수) 필드에, 미완료 멀티파트 업로드를 삭제하기까지의 경과 일수(이 예에서는 7일)를 입력합니다.

1. **규칙 생성**을 선택합니다.

## AWS CLI 사용
<a name="mpu-abort-incomplete-mpu-lifecycle-config-cli"></a>

다음`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-configuration {{filename-containing-lifecycle-configuration}}
```

다음 예제는 AWS CLI를 사용하여 미완료 멀티파트 업로드를 중단하는 수명 주기 규칙을 추가하는 방법을 보여줍니다. 여기에는 7일 이상 경과된 미완료 멀티파트 업로드를 중단하기 위한 JSON 수명 주기 구성 예제가 포함되어 있습니다.

이 예제에서 CLI 명령을 사용하려면 `{{user input placeholders}}`를 자체 정보로 대체합니다.

**미완료 멀티파트 업로드를 중단하기 위한 수명 주기 규칙을 추가하려면**

1. AWS CLI를 설정합니다. 자세한 내용은 **Amazon S3 API 참조의 [AWS CLI를 사용하여 Amazon S3에서 개발](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html)을 참조하세요.

1. 다음 수명 주기 구성 예제를 파일(예: {{`lifecycle.json`}}``)에 저장합니다. 이 예제 구성에서는 빈 접두사가 지정되어 있으므로, 버킷에 있는 모든 객체에 적용됩니다. 구성을 객체의 하위 집합에만 제한적으로 적용하려면 접두사를 지정하면 됩니다.

   ```
   {
       "Rules": [
           {
               "ID": "Test Rule",
               "Status": "Enabled",
               "Filter": {
                   "Prefix": ""
               },
               "AbortIncompleteMultipartUpload": {
                   "DaysAfterInitiation": 7
               }
           }
       ]
   }
   ```

1.  다음 CLI 명령을 사용하여 버킷에서 이 수명 주기 구성을 설정합니다.

   ```
   aws s3api put-bucket-lifecycle-configuration   \
   --bucket {{amzn-s3-demo-bucket}}  \
   --lifecycle-configuration file://{{lifecycle.json}}
   ```

1.  버킷에 수명 주기 구성이 설정되었는지 확인하려면 다음 `get-bucket-lifecycle` 명령을 사용하여 수명 주기 구성을 검색합니다.

   ```
   aws s3api get-bucket-lifecycle  \
   --bucket {{amzn-s3-demo-bucket}}
   ```

1.  수명 주기 구성을 삭제하려면 다음 `delete-bucket-lifecycle` 명령을 사용합니다.

   ```
   aws s3api delete-bucket-lifecycle \
   --bucket {{amzn-s3-demo-bucket}}
   ```