Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

객체가 삭제되는 방법

StorageGRID 클라이언트 요청에 직접 응답하거나 S3 버킷 수명 주기 만료 또는 ILM 정책 요구 사항에 따라 자동으로 객체를 삭제할 수 있습니다. 객체를 삭제할 수 있는 다양한 방법과 StorageGRID 삭제 요청을 처리하는 방식을 이해하면 객체를 보다 효과적으로 관리하는 데 도움이 될 수 있습니다.

StorageGRID 두 가지 방법 중 하나를 사용하여 객체를 삭제할 수 있습니다.

  • 동기 삭제: StorageGRID 클라이언트 삭제 요청을 받으면 모든 개체 사본이 즉시 제거됩니다. 사본이 제거된 후 삭제가 성공적으로 완료되었다는 알림이 클라이언트에게 전달됩니다.

  • 객체가 삭제 대기 중입니다. StorageGRID 삭제 요청을 받으면 객체는 삭제 대기 중이 되고 클라이언트에게 삭제가 성공했다는 알림이 즉시 전달됩니다. 객체 복사본은 나중에 백그라운드 ILM 처리를 통해 제거됩니다.

객체를 삭제할 때 StorageGRID 삭제 성능을 최적화하고, 잠재적인 삭제 백로그를 최소화하고, 가장 빠르게 공간을 확보하는 방법을 사용합니다.

이 표는 StorageGRID 각 방법을 사용하는 경우를 요약한 것입니다.

삭제 수행 방법 사용 시

객체가 삭제 대기 중입니다.

다음 조건 중 *하나*라도 참인 경우:

  • 다음 이벤트 중 하나에 의해 자동 객체 삭제가 트리거되었습니다.

    • S3 버킷의 수명 주기 구성에서 만료 날짜 또는 일수에 도달했습니다.

    • ILM 규칙에 지정된 마지막 기간이 경과합니다.

    참고: S3 객체 잠금이 활성화된 버킷의 객체는 법적 보류 중이거나 보관 기간이 지정되었지만 아직 충족되지 않은 경우 삭제할 수 없습니다.

  • S3 클라이언트가 삭제를 요청하고 다음 조건 중 하나 이상이 참인 경우:

    • 예를 들어, 개체 위치를 일시적으로 사용할 수 없는 경우 30초 이내에 복사본을 삭제할 수 없습니다.

    • 백그라운드 삭제 대기열은 유휴 상태입니다.

객체가 즉시 제거됩니다(동기 삭제)

S3 클라이언트가 삭제 요청을 하고 다음 조건이 모두 충족되는 경우:

  • 모든 사본은 30초 이내에 제거될 수 있습니다.

  • 백그라운드 삭제 대기열에는 처리할 객체가 포함되어 있습니다.

S3 클라이언트가 삭제 요청을 하면 StorageGRID 먼저 삭제 대기열에 객체를 추가합니다. 그런 다음 동기 삭제를 수행합니다. 백그라운드 삭제 대기열에 처리할 객체가 있는지 확인하면 StorageGRID 특히 동시성이 낮은 클라이언트의 경우 삭제를 보다 효율적으로 처리할 수 있으며, 동시에 클라이언트 삭제 백로그를 방지하는 데 도움이 됩니다.

객체를 삭제하는 데 필요한 시간

StorageGRID 객체를 삭제하는 방식은 시스템 성능에 영향을 미칠 수 있습니다.

  • StorageGRID 동기적 삭제를 수행하는 경우 StorageGRID 클라이언트에 결과를 반환하는 데 최대 30초가 걸릴 수 있습니다. 즉, StorageGRID 삭제를 위해 객체를 대기열에 넣을 때보다 실제로는 복사본이 더 빠르게 제거되는 경우에도 삭제가 더 느리게 진행되는 것처럼 보일 수 있습니다.

  • 대량 삭제 중에 삭제 성능을 면밀히 모니터링하면 특정 수의 개체가 삭제된 이후부터 삭제 속도가 느려지는 것을 알 수 있습니다. 이러한 변경은 StorageGRID 삭제를 위해 객체를 대기시키는 것에서 동기적 삭제를 수행하는 것으로 전환될 때 발생합니다. 삭제 속도가 눈에 띄게 감소했다고 해서 객체 복사본이 더 느리게 제거된다는 것은 아닙니다. 오히려 이는 평균적으로 공간이 더 빨리 확보되고 있음을 나타냅니다.

많은 수의 객체를 삭제하고 빠르게 공간을 확보하는 것이 우선순위인 경우 ILM이나 다른 방법을 사용하여 객체를 삭제하는 대신 클라이언트 요청을 사용하여 객체를 삭제하는 것이 좋습니다. 일반적으로 StorageGRID 동기식 삭제를 사용할 수 있으므로 클라이언트가 삭제를 수행하면 공간이 더 빨리 확보됩니다.

객체가 삭제된 후 공간을 확보하는 데 필요한 시간은 여러 요인에 따라 달라집니다.

  • 객체 복사본이 동기적으로 제거되는지 아니면 나중에 제거를 위해 대기열에 추가되는지(클라이언트 삭제 요청의 경우).

  • 객체 복사본이 제거를 위해 대기하는 시점(클라이언트 삭제 및 기타 방법 모두)에는 그리드에 있는 객체 수나 그리드 리소스의 가용성과 같은 다른 요소가 있습니다.

S3 버전이 지정된 객체가 삭제되는 방식

S3 버킷에 버전 관리가 활성화된 경우 StorageGRID 삭제 요청에 응답할 때 Amazon S3 동작을 따릅니다. 이러한 요청은 S3 클라이언트에서 오는 경우든, S3 버킷 수명 주기 만료 시든, ILM 정책 요구 사항 시든 상관 없습니다.

객체의 버전이 관리되면 객체 삭제 요청은 객체의 현재 버전을 삭제하지 않고 공간을 확보하지 않습니다. 대신, 객체 삭제 요청은 객체의 현재 버전으로 0바이트 삭제 마커를 생성하여 객체의 이전 버전을 "현재가 아닌 버전"으로 만듭니다. 객체 삭제 마커가 현재 버전이고 현재가 아닌 버전이 없는 경우, 해당 객체 삭제 마커는 만료된 객체 삭제 마커가 됩니다.

객체가 제거되지 않았더라도 StorageGRID 객체의 현재 버전을 더 이상 사용할 수 없는 것처럼 동작합니다. 해당 객체에 대한 요청은 404 NotFound를 반환합니다. 그러나 현재가 아닌 개체 데이터가 제거되지 않았으므로 해당 개체의 현재가 아닌 버전을 지정하는 요청은 성공할 수 있습니다.

버전이 지정된 객체를 삭제할 때 공간을 확보하거나 삭제 마커를 제거하려면 다음 중 하나를 사용하세요.

  • S3 클라이언트 요청: S3 DELETE Object 요청에서 객체 버전 ID를 지정하세요.(DELETE /object?versionId=ID ). 이 요청은 지정된 버전에 대한 객체 복사본만 제거한다는 점을 명심하세요(다른 버전은 여전히 공간을 차지합니다).

  • 버킷 수명주기: 사용 NoncurrentVersionExpiration 버킷 라이프사이클 구성에서의 작업입니다. 지정된 NoncurrentDays 수가 충족되면 StorageGRID 현재가 아닌 개체 버전의 모든 복사본을 영구적으로 제거합니다. 이러한 개체 버전은 복구할 수 없습니다.

    그만큼 NewerNoncurrentVersions 버킷 수명 주기 구성의 작업은 버전이 지정된 S3 버킷에 보관되는 비현재 버전의 수를 지정합니다. 현재 버전이 아닌 버전이 더 많은 경우 NewerNoncurrentVersions 지정하면 StorageGRID NoncurrentDays 값이 경과하면 이전 버전을 제거합니다. 그만큼 NewerNoncurrentVersions 임계값은 ILM에서 제공하는 수명 주기 규칙을 무시합니다. 즉, 버전이 다음 범위 내에 있는 비현재 개체가 NewerNoncurrentVersions ILM에서 삭제를 요청하더라도 임계값은 유지됩니다.

    만료된 개체 삭제 마커를 제거하려면 다음을 사용하세요. Expiration 다음 태그 중 하나를 사용하여 작업을 수행합니다. ExpiredObjectDeleteMarker , Days , 또는 Date .

  • ILM:"활성 정책 복제" 새 정책에 두 개의 ILM 규칙을 추가합니다.

    • 첫 번째 규칙: 객체의 비현재 버전과 일치시키려면 "비현재 시간"을 참조 시간으로 사용합니다. ~ 안에"ILM 규칙 생성 마법사의 1단계(세부 정보 입력)" "이 규칙을 버전 관리가 활성화된 S3 버킷의 이전 개체 버전에만 적용합니까?"라는 질문에 대해 *예*를 선택합니다.

    • 두 번째 규칙: 수집 시간*을 사용하여 현재 버전과 일치시킵니다. "비현재 시간" 규칙은 정책에서 *수집 시간 규칙 위에 나타나야 합니다.

      만료된 객체 삭제 마커를 제거하려면 수집 시간 규칙을 사용하여 현재 삭제 마커와 일치시킵니다. 삭제 마커는 *기간*인 *일*이 지나고 현재 삭제 마커가 만료된 경우에만 제거됩니다(현재가 아닌 버전은 없습니다).

  • 버킷의 객체 삭제: 테넌트 관리자를 사용하여"모든 객체 버전 삭제" 버킷에서 마커 삭제를 포함합니다.

버전이 지정된 개체가 삭제되면 StorageGRID 개체의 현재 버전으로 0바이트 삭제 마커를 만듭니다. 버전이 지정된 버킷을 삭제하려면 먼저 모든 개체와 삭제 마커를 제거해야 합니다.

  • StorageGRID 11.7 이전 버전에서 생성된 삭제 마커는 S3 클라이언트 요청을 통해서만 제거할 수 있으며, ILM, 버킷 수명 주기 규칙 또는 버킷 작업의 개체 삭제를 통해서는 제거되지 않습니다.

  • StorageGRID 11.8 이상에서 생성된 버킷의 삭제 마커는 ILM, 버킷 수명 주기 규칙, 버킷 작업의 객체 삭제 또는 명시적 S3 클라이언트 삭제를 통해 제거할 수 있습니다.