객체 삭제 정보

더 이상 필요하지 않은 객체를 삭제하면 스토리지 비용을 줄이고, 데이터 보관 요구사항을 준수하고, 버킷을 정리하는 데 도움이 됩니다. Cloud Storage는 객체를 삭제하는 두 가지 기본 방법을 지원합니다.

  • 단일 객체 삭제: 타겟 업데이트를 위해 개별 객체를 삭제합니다.
  • 객체 일괄 삭제: 여러 객체를 동시에 또는 자동 일정에 따라 삭제합니다.

각 삭제 방법에 대해 Cloud Storage는 객체를 수동으로, 프로그래매틱 방식으로 또는 자동화된 정책을 통해 삭제할 수 있는 다양한 도구를 제공합니다. 이러한 삭제 방법과 사용 가능한 도구를 검토하여 워크로드에 가장 적합한 방법을 선택하세요.

객체 삭제에 관한 단계별 안내는 객체 삭제를 참고하세요.

단일 객체 삭제

단일 객체 삭제는 특정 데이터를 정밀하게 제어할 수 있도록 지원합니다. 일반적으로 버킷의 데이터에 즉각적이고 타겟팅된 업데이트를 실행해야 하는 경우 단일 객체를 삭제합니다. 단일 객체 삭제의 일반적인 사용 사례는 다음과 같습니다.

  • 오류 수정: 실수로 업로드한 객체 또는 잘못된 데이터가 포함된 객체를 삭제합니다.

  • 정리: 작업을 완료한 후 임시 객체 또는 로그를 수동으로 삭제합니다.

  • 애플리케이션 로직: 사용자가 프로필 사진을 삭제하는 등 애플리케이션 이벤트가 발생할 때 객체를 자동으로 삭제합니다.

  • 보안 및 규정 준수: 민감한 정보를 삭제하기 위해 객체를 삭제합니다.

단일 객체 삭제 도구

버킷에서 단일 객체를 삭제하려면 다음 도구 중 하나를 사용하세요. 각 도구는 객체당 개별 DELETE 요청을 전송합니다.

도구 설명
Google Cloud 콘솔 Google Cloud 콘솔에서 개별 객체를 삭제합니다.
Google Cloud CLI gcloud storage rm 명령어를 사용하여 객체를 삭제합니다.
클라이언트 라이브러리 C++, C#, Go, Java, Node.js, PHP, Python, Ruby와 같은 지원되는 언어를 사용하여 프로그래매틱 방식으로 객체를 삭제합니다.
REST API JSON API 또는 XML API를 사용하여 객체를 삭제합니다.

객체 일괄 삭제

객체 일괄 삭제는 대규모 데이터 세트에서 효율적인 작업을 수행하도록 설계되었습니다. 일괄 삭제를 사용하여 스토리지 비용을 관리하고 버킷 전반에서 데이터 정제를 자동화합니다. 대량 객체 삭제의 일반적인 사용 사례는 다음과 같습니다.

  • 비용 최적화: 오래된 로그 또는 임시 빌드 아티팩트와 같이 작업에 더 이상 필요하지 않은 대규모 데이터 세트를 삭제합니다.

  • 규정 준수 자동화: 30일과 같은 특정 보관 기간이 지난 후 객체를 삭제하여 데이터 보관 정책을 자동으로 적용합니다.

  • 버킷 이전 또는 폐기: 데이터를 이전하거나 프로젝트를 종료할 때 수백만 또는 수십억 개의 객체를 정리합니다.

  • 데이터 파이프라인 정리: 파이프라인에서 최종 보고서 또는 데이터 세트를 생성한 후 중간 처리 객체를 삭제합니다.

객체 일괄 삭제 도구

객체를 일괄 삭제하려면 다음 도구 중 하나를 사용하세요. 이러한 도구는 개별 요청에 비해 처리량을 높이고 오버헤드를 줄이도록 최적화되어 있습니다.

도구 설명
Google Cloud 콘솔 최대 100만 개의 객체를 대화형으로 삭제합니다. 삭제 요청을 시작하면 Cloud Storage에서 백그라운드에서 삭제를 처리합니다. Google Cloud 콘솔 헤더에서 알림 버튼()을 클릭하여 일괄 삭제 상태를 확인할 수 있습니다.
Google Cloud CLI gcloud storage rm --recursive 명령어를 사용하여 공통 프리픽스를 공유하는 모든 객체를 삭제합니다. 이 명령어는 명령줄에서 중소 규모의 일괄 삭제에 적합합니다.
다중 객체 삭제 XML API

단일 POST 요청에서 최대 1,000개의 객체를 프로그래매틱 방식으로 삭제합니다. 다중 객체 삭제 XML API는 Amazon S3 API와 상호 운용이 가능합니다. 따라서 기존 Amazon S3 도구, 라이브러리, 워크플로를 사용하여 Cloud Storage의 객체를 관리할 수 있습니다. XML API는 두 플랫폼 간에 데이터를 이전하거나 리소스를 관리하는 경우에 유용합니다.

XML API를 사용하여 여러 객체를 삭제하면 Cloud Storage에서 데이터 액세스 감사 로그를 생성합니다. 데이터 액세스 감사 로그를 사용 설정하면 이러한 로그에 전체 요청 및 개별 객체 삭제에 관한 세부정보가 포함됩니다. 자세한 내용은 다중 객체 삭제 XML API의 감사 로그를 참고하세요.

다중 객체 삭제 XML API에는 다음과 같은 제한사항이 있습니다.

  • 거버넌스 모드 우회: Amazon S3와 달리 Cloud Storage에서는 삭제 중에 거버넌스 모드를 우회할 수 없습니다. Amazon S3에서는 x-amz-bypass-governance-retention 헤더를 지정하여 거버넌스 모드로 잠긴 객체를 삭제할 수 있습니다. Cloud Storage는 데이터 불변성을 유지하기 위해 객체 보관 정책을 엄격하게 적용합니다.
  • 삭제 마커: Cloud Storage는 단일 객체 또는 다중 객체 삭제를 위한 Amazon S3 삭제 마커를 지원하지 않습니다. Cloud Storage에서 이전 객체를 복원하려면 XML API PUT 요청을 사용하여 특정 버전을 라이브 객체에 복사해야 합니다.
  • 조건부 삭제 작업: Cloud Storage 다중 객체 삭제 XML API는 ETag, Last-Modified 또는 Size에 기반한 조건부 삭제를 지원하지 않습니다. 이러한 매개변수가 포함된 요청은 HTTP 400 Bad Request 상태 코드를 반환합니다. Cloud Storage에서 조건부 작업을 실행하려면 x-goog-if-generation-match 또는 x-goog-if-metageneration-match과 같은 헤더를 사용하세요.
스토리지 일괄 작업

기본 제공 추적 및 재시도가 있는 완전 관리형 서비스를 사용하여 매니페스트 파일을 기반으로 최대 수십억 개의 객체를 삭제합니다.

스토리지 일괄 작업을 사용하여 다음 작업을 수행합니다.

  • 수백만 또는 수십억 개의 객체를 삭제합니다.
  • 기본 제공 추적, 재시도, 오류 처리로 안정성을 강화하세요.
  • 개별 API 호출을 스크립팅하는 것보다 클라이언트 측 오버헤드가 줄어듭니다.
객체 수명 주기 관리 객체 기간 또는 스토리지 클래스와 같은 사용자 정의 수명 주기 규칙에 따라 객체를 자동으로 삭제합니다. 객체를 일괄 삭제하려면 버킷에서 객체 수명 주기 관리 규칙을 구성하세요. 조건 Age0일로 설정하고 작업을 Delete로 설정합니다. 이 규칙을 설정하면 Cloud Storage에서 일괄 삭제를 비동기적으로 수행합니다.
일괄 API 요청 지원되는 클라이언트 라이브러리 또는 JSON API를 직접 사용하는 경우 여러 삭제 요청을 단일 HTTP 요청으로 일괄 처리합니다. 이 일괄 처리를 통해 클라이언트 측 연결 오버헤드와 지연 시간이 줄어듭니다.

삭제 방법 선택

객체 삭제에 가장 적합한 방법과 도구는 객체 수와 워크플로 요구사항에 따라 달라집니다. 다음 의사 결정 매트릭스를 사용하여 사용 사례에 적합한 접근 방식을 선택하세요.

사용 사례 삭제 방법 권장 도구
개별 객체 또는 소수의 특정 객체 삭제 단일 객체 삭제 Google Cloud 콘솔, gcloud storage rm, 클라이언트 라이브러리 또는 REST API
단일 프로그래매틱 요청에서 최대 1,000개의 객체 삭제 객체 일괄 삭제 다중 객체 삭제 XML API, Amazon S3 CLI 또는 Amazon S3 호환 클라이언트 라이브러리 (예: Boto3)
공통 프리픽스를 공유하는 객체 삭제 객체 일괄 삭제 gcloud storage rm --recursive
브라우저에서 최대 100만 개의 객체를 대화형으로 삭제 객체 일괄 삭제 Google Cloud 콘솔
기본 제공 추적 기능을 사용하여 수백만 또는 수십억 개의 객체를 비동기식으로 삭제 객체 일괄 삭제 스토리지 일괄 작업
조건 (예: 기간 또는 스토리지 클래스)에 따라 객체를 자동으로 삭제합니다. 객체 일괄 삭제 객체 수명 주기 관리

다음 단계