S3 버전 오브젝트 삭제 방법
S3 버킷에 대해 버전 관리가 활성화된 경우 StorageGRID는 삭제 요청에 응답할 때 Amazon S3 동작을 따릅니다. 이러한 요청이 S3 클라이언트에서 온 것인지, S3 버킷 라이프사이클의 만료 또는 ILM 정책 요구사항이 있는지 여부에 관계없이 이 동작을 따릅니다.
오브젝트 버전이 지정된 경우 오브젝트 삭제 요청은 오브젝트의 현재 버전을 삭제하지 않고 공간을 확보하지 않습니다. 대신 개체 삭제 요청은 단순히 개체의 현재 버전으로 삭제 마커를 만들어 이전 버전의 개체를 ""비현재""로 만듭니다.
개체가 제거되지 않았더라도 StorageGRID 는 개체의 현재 버전을 더 이상 사용할 수 없는 것처럼 동작합니다. 해당 개체에 대한 요청은 404 NotFound 를 반환합니다. 그러나 현재 개체 데이터가 제거되지 않았으므로 개체의 현재 버전이 아닌 버전을 지정하는 요청은 성공할 수 있습니다.
버전이 지정된 개체를 삭제할 때 공간을 확보하려면 다음 중 하나를 수행해야 합니다.
-
* S3 클라이언트 요청 *: S3 삭제 오브젝트 요청에 오브젝트 버전 번호를 지정합니다 (
DELETE /object?versionId=ID
)를 클릭합니다. 이 요청은 지정된 버전의 오브젝트 복사본만 제거합니다(다른 버전은 계속 공간을 소모함). -
* 버킷 수명 주기 *: 를 사용합니다
NoncurrentVersionExpiration
버킷 수명 주기 구성의 작업. 지정된 NoncurrentDays 수가 충족되면 StorageGRID에서 현재 버전이 아닌 개체 버전의 모든 복사본을 영구적으로 제거합니다. 이러한 개체 버전은 복구할 수 없습니다. -
* ILM *: ILM 정책에 ILM 규칙 2개를 추가합니다. 첫 번째 규칙에서 * 비현재 시간 * 을 참조 시간으로 사용하여 개체의 비현재 버전과 일치시킵니다. 두 번째 규칙에 * Ingest Time * 을 사용하여 현재 버전과 일치시킵니다. noncurrent time * 규칙은 * Ingest time * 규칙 위의 정책에 나타나야 합니다.