객체 삭제 정보

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

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

객체를 삭제하는 방법은 객체 삭제를 참고하세요.

단일 객체 삭제

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

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

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

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

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

단일 객체를 삭제하는 도구

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

도구 설명
Google Cloud 콘솔 Google Cloud 콘솔을 통해 객체를 삭제합니다.
Google Cloud CLI gcloud storage rm 명령어를 사용하여 객체를 삭제합니다.
클라이언트 라이브러리 C++, C#, Go, Java, 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와 달리 삭제 중에 거버넌스 모드 우회를 지원하지 않습니다. Amazon S3에서는 x-amz-bypass-governance-retention 헤더를 지정하여 거버넌스 유형으로 잠긴 객체를 삭제할 수 있습니다. Cloud Storage는 데이터 불변성을 지원하기 위해 객체 보관 정책을 적용합니다.
  • 삭제 마커: 단일 또는 다중 객체 삭제의 경우 Cloud Storage에서 Amazon S3 삭제 마커가 지원되지 않습니다. 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를 사용하여 객체 일괄 삭제를 참고하세요.
  • 수백만 또는 수십억 개의 객체를 삭제해야 하는 경우 스토리지 일괄 작업을 사용하여 대규모 삭제를 안정적으로 수행하세요.
  • 특정 기준을 충족하는 객체를 자동으로 삭제해야 하는 경우 객체 수명 주기 관리를 사용하세요.

다음 단계