

# 버전 관리가 일시 중지된 버킷의 객체 작업
<a name="VersionSuspendedBehavior"></a>

Amazon S3에서 버킷 내 동일 객체의 새 버전이 발생하지 않도록 버전 관리를 일시 중지할 수 있습니다. 버킷에 단일 버전의 객체만 필요한 경우 이 작업을 수행할 수 있습니다. 또는 여러 버전에 대한 요금이 부과되는 것을 원하지 않을 경우에도 이 작업을 수행할 수 있습니다.

버전 관리를 일시 중지할 때 버킷의 기존 객체는 변경되지 않습니다. 이후 요청에서는 Amazon S3가 객체를 처리하는 방법만 변경됩니다. 이 섹션의 주제에서는 버전 관리가 일시 중지된 버킷의 다양한 객체 작업(예: 객체 추가, 검색 및 삭제)에 관해 설명합니다.

S3 버전 관리에 대한 자세한 내용은 [S3 버전 관리로 여러 버전의 객체 유지](Versioning.md) 섹션을 참조하십시오. 객체 버전 가져오기에 대한 자세한 내용은 [버전 관리가 사용 설정된 버킷에서 객체 버전 검색](RetrievingObjectVersions.md) 섹션을 참조하세요.

**Topics**
+ [버전 관리가 일시 중지된 버킷에 객체 추가](AddingObjectstoVersionSuspendedBuckets.md)
+ [버전 관리가 일시 중지된 버킷에서 객체 가져오기](RetrievingObjectsfromVersioningSuspendedBuckets.md)
+ [버전 관리가 일시 중지된 버킷에서 객체 삭제](DeletingObjectsfromVersioningSuspendedBuckets.md)

# 버전 관리가 일시 중지된 버킷에 객체 추가
<a name="AddingObjectstoVersionSuspendedBuckets"></a>

Amazon S3에서 버전 관리가 일시 중지된 버킷에 객체를 추가하여 버전 ID가 null인 객체를 만들거나, 일치하는 버전 ID로 객체 버전을 덮어쓸 수 있습니다.

버킷에 대한 버전 관리를 일시 중지하면 Amazon S3에서는 버전 ID `null`을 해당 버킷에 이후로 저장되는 후속 객체 각각에 자동으로 추가합니다(`PUT`, `POST` 또는 `CopyObject` 사용).

다음 그림은 버전 관리가 일시 중지된 버킷에 객체를 추가할 때 Amazon S3에서 버전 ID `null`을 객체에 추가하는 과정을 보여줍니다.

![\[Amazon S3가 객체에 null의 버전 ID를 추가하는 그래픽.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_PUT_versionSuspended.png)


null 버전이 버킷에 이미 있는 경우 다른 객체를 같은 키로 추가하면 추가된 객체는 원래 null 버전을 덮어씁니다.

버전이 지정된 객체가 버킷에 있는 경우, `PUT`을 수행한 버전은 객체의 현재 버전이 됩니다. 다음 그림은 버전이 지정된 객체가 포함된 버킷에 객체를 추가해도 버킷에 이미 있던 객체는 덮어쓰지 않음을 보여 줍니다.

이 경우, 버전 111111은 버킷에 원래 존재했습니다. Amazon S3에서는 추가되는 객체에 null 버전 ID를 연결하고 이를 버킷에 저장합니다. 따라서 이는 버전 111111을 덮어쓰지 않습니다.

![\[Amazon S3가 버전 111111을 덮어쓰지 않고 객체에 null의 버전 ID를 추가하는 그래픽.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_PUT_versionSuspended3.png)


null 버전이 버킷에 이미 존재하는 경우, 다음 그림과 같이 이 null 버전을 덮어쓰게 됩니다.

![\[Amazon S3가 원본 콘텐츠를 덮어쓰면서 객체에 null의 버전 ID를 추가하는 그래픽.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_PUT_versionSuspended4.png)


Null 버전의 키 및 버전 ID(`null`)가 `PUT` 수행 이전과 이후에 서로 같더라도, 버킷에 원래 저장되어 있던 Null 버전의 콘텐츠는 버킷에 `PUT`을 수행한 객체의 콘텐츠로 대체됩니다.

# 버전 관리가 일시 중지된 버킷에서 객체 가져오기
<a name="RetrievingObjectsfromVersioningSuspendedBuckets"></a>

`GET Object` 요청은 버킷에 대해 버전 관리를 사용 설정했는지 여부와 관계없이 현재 버전의 객체를 반환합니다. 다음 그림은 단순 `GET` 요청에서 현재 버전의 객체를 반환하는 과정을 보여 줍니다.

![\[단순 GET이 현재 버전의 객체를 반환하는 방법을 보여 주는 그림.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_GET_suspended.png)


# 버전 관리가 일시 중지된 버킷에서 객체 삭제
<a name="DeletingObjectsfromVersioningSuspendedBuckets"></a>

버전 관리가 일시 정지된 버킷에서 객체를 삭제하여 null 버전 ID를 가진 객체를 제거할 수 있습니다.

버킷에 대해 버전 관리가 일시 중지된 경우 `DELETE` 요청은 다음과 같습니다.
+ 버전 ID가 `null`인 객체만 제거할 수 있습니다.
+ 버킷에 null 버전의 객체가 없는 경우 어떤 것도 제거하지 않습니다.
+ 버킷에 삭제 마커를 삽입합니다.

버킷 버전 관리가 일시 중단된 경우 작업은 null `versionId`가 있는 객체를 제거합니다. 버전 ID가 있는 경우 Amazon S3는 객체의 현재 버전이 되는 삭제 마커를 삽입합니다. 다음 그림은 단순 `DELETE`가 null 버전을 제거하고 Amazon S3가 대신 `null` 버전 ID와 함께 삭제 마커를 삽입하는 과정을 보여줍니다.

![\[NULL 버전 ID를 가진 객체를 제거하는 단순 삭제를 보여 주는 그림.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_DELETE_versioningSuspended.png)


`versionId`가 있는 객체를 영구 삭제하려면 요청에 해당 객체 `versionId`를 포함해야 합니다. 삭제 마커에는 콘텐츠가 포함되어 있지 않으므로, 삭제 마커로 대체될 때 `null` 버전의 콘텐츠가 손실됩니다.

다음 그림은 null 버전이 없는 버킷을 보여 줍니다. 이 경우 `DELETE`는 아무것도 제거하지 않습니다. 대신 Amazon S3에서 삭제 마커를 삽입합니다.

![\[삭제 마커 삽입을 보여 주는 그림.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_DELETE_versioningSuspendedNoNull.png)


버전 관리가 일시 정지된 버킷에서도 버킷 소유자는 `DELETE` 요청에 대한 권한이 명시적으로 거부되기 전까지 `DELETE` 요청에 버전 ID를 포함하여 특정 버전을 영구적으로 삭제할 수 있습니다. 예를 들어 `null` 버전 ID가 있는 객체의 삭제를 거부하려면 `s3:DeleteObject` 및 `s3:DeleteObjectVersions` 권한을 명시적으로 거부해야 합니다.

다음 그림은 지정된 객체 버전을 삭제하면 해당 객체의 버전이 영구적으로 제거됨을 보여 줍니다. 버킷 소유자만이 지정된 객체 버전을 삭제할 수 있습니다.

![\[지정된 버전 ID를 사용한 영구 객체 삭제를 보여 주는 그림.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/versioning_DELETE_versioningEnabled2.png)
