객체 삭제 정보

더 이상 필요하지 않은 객체를 삭제하면 스토리지 비용을 절감하고 데이터 보관 요구사항을 준수하며 버킷을 정리하는 데 도움이 됩니다. 규모 및 자동화 요구사항에 따라 객체를 수동으로, 프로그래매틱 방식으로 또는 자동화된 정책을 통해 삭제하는 여러 방법 중에서 선택할 수 있습니다.

이 페이지에서는 버킷에서 객체를 삭제하는 데 사용할 수 있는 방법을 설명하고 작업에 적합한 방법을 선택하는 데 도움을 줍니다.

객체를 삭제하는 방법에 대한 자세한 내용은 객체 삭제를 참조하세요.

단일 객체 삭제

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

  • 오류 수정: 실수로 업로드된 파일 또는 잘못된 데이터가 포함된 파일을 삭제합니다.

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

  • 애플리케이션 로직: 프로필 사진 삭제와 같이 애플리케이션에서 작업을 실행할 때 파일을 자동으로 삭제합니다.

  • 보안 및 규정 준수: 민감한 정보를 삭제하는 과정에서 객체를 삭제합니다.

단일 객체를 삭제하는 도구

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

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

객체 일괄 삭제

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

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

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

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

  • 데이터 파이프라인 정리: 최종 보고서 또는 데이터 세트가 생성된 후 중간 처리 파일을 삭제합니다.

객체를 일괄 삭제하는 도구

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

도구 설명
XML API를 사용하여 여러 객체 삭제

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

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

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

  • 거버넌스 모드 우회: Cloud Storage는 삭제 중에 거버넌스 모드 우회를 지원하지 않습니다. Amazon S3는 거버넌스 유형으로 잠긴 객체를 삭제할 수 있도록 x-amz-bypass-governance-retention 헤더를 지정할 수 있습니다. Cloud Storage는 데이터 불변성을 지원하기 위해 객체 보관 정책을 적용합니다.
  • 삭제 마커: Amazon S3 삭제 마커는 단일 객체 삭제 또는 다중 객체 삭제를 위해 Cloud Storage에서 지원되지 않습니다. Cloud Storage에서 이전 객체를 복원하려면 PUT 요청을 사용하여 필요한 버전을 라이브 객체에 복사해야 합니다.
  • 조건부 삭제: Cloud Storage 다중 객체 삭제 API는 ETag, Last-Modified 또는 Size를 기반으로 하는 조건부 삭제를 지원하지 않습니다. 이러한 매개변수가 포함된 요청은 400 오류를 발생시킵니다. Cloud Storage의 조건부 작업에는 x-goog-if-generation-match 또는 x-goog-if-metageneration-match와 같은 헤더를 사용합니다.
Google Cloud 콘솔 콘솔은 객체를 최대 100만 개 삭제하는 경우 권장되는 옵션입니다. Google Cloud 삭제 요청을 시작하면 프로세스가 백그라운드에서 수행됩니다. 콘솔 헤더에서 Google Cloud 알림 버튼 ()을 클릭하여 일괄 삭제 상태를 확인할 수 있습니다.
스토리지 일괄 작업

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

다음 작업을 실행하려면 스토리지 일괄 작업을 사용하는 것이 좋습니다.

  • 수백만 또는 수십억 개의 객체를 삭제합니다.
  • 기본 제공 추적, 재시도, 오류 처리로 안정성을 높입니다.
  • 개별 API 호출을 스크립팅하는 것보다 클라이언트 측 오버헤드를 줄입니다.
gcloud storage rm --recursive 공통 프리픽스를 공유하는 모든 객체를 삭제하는 Google Cloud CLI 명령어입니다. CLI를 사용하는 중소 규모의 일괄 작업에 적합합니다.
객체 수명 주기 관리 객체 기간 또는 스토리지 클래스와 같이 정의한 규칙에 따라 객체를 자동으로 삭제하는 서버 측 기능입니다. 버킷의 객체를 일괄 삭제하려면 버킷에서 수명 주기 구성 규칙을 설정합니다. 여기서 조건은 Age 0일로 설정되고 작업은 delete로 설정됩니다. 이 규칙을 설정하면 Cloud Storage에서 일괄 삭제를 비동기적으로 수행합니다.
일괄 요청 특정 클라이언트 라이브러리를 사용하거나 JSON API를 직접 사용하는 경우 삭제 요청을 일괄 처리하여 필요한 HTTP 연결 수를 줄일 수 있습니다.

삭제 방법 선택

객체를 삭제하는 도구는 삭제해야 하는 객체 수와 이유에 따라 다릅니다. 다음 안내에 따라 사용 사례에 적합한 방법을 선택하세요.

  • 하나 또는 몇 개의 특정 객체만 삭제해야 하는 경우 Google Cloud 콘솔, gcloud storage rm또는 클라이언트 라이브러리 또는 REST API를 사용하는 단일 API 호출을 사용합니다. 자세한 내용은 단일 객체 삭제를 참조하세요.
  • 단일 API 요청에서 최대 1,000개의 객체를 삭제해야 하는 경우 다중 객체 삭제 XML API, Amazon S3 CLI 또는 Boto3와 같은 S3 호환 클라이언트 라이브러리를 사용합니다. 자세한 내용은 객체 일괄 삭제를 참조하세요.
  • 공통 이름 프리픽스를 공유하는 여러 객체를 삭제하는 경우 gcloud storage rm --recursive 명령어를 사용합니다. 자세한 내용은 Google Cloud CLI를 사용하여 객체 일괄 삭제를 참조하세요.
  • 수백만 또는 수십억 개의 객체를 삭제해야 하는 경우 안정적인 대규모 삭제를 위해 스토리지 일괄 작업 을 사용합니다.
  • 특정 기준을 충정하는 객체를 자동으로 삭제해야 하는 경우 객체 수명 주기 관리를 사용합니다.

다음 단계