더 이상 필요하지 않은 객체를 삭제하면 스토리지 비용을 줄이고, 데이터 보관 요구사항을 준수하고, 버킷을 정리하는 데 도움이 됩니다. 규모와 자동화 요구사항에 따라 객체를 수동으로, 프로그래매틱 방식으로 또는 자동화된 정책을 통해 삭제하는 여러 방법 중에서 선택할 수 있습니다.
이 페이지에서는 버킷에서 객체를 삭제하는 데 사용할 수 있는 방법을 설명하고 작업에 적합한 방법을 선택하는 데 도움을 줍니다.
객체를 삭제하는 방법은 객체 삭제를 참고하세요.
단일 객체 삭제
단일 객체 삭제는 특정 데이터를 정밀하게 제어할 수 있도록 지원합니다. 일반적으로 버킷의 데이터를 즉시 타겟팅하여 업데이트해야 하는 경우 단일 객체를 삭제합니다. 다음은 단일 객체를 삭제하는 일반적인 이유입니다.
오류 수정: 실수로 업로드된 파일 또는 잘못된 데이터가 포함된 파일을 삭제합니다.
정리: 작업을 완료한 후 임시 파일이나 로그를 수동으로 삭제합니다.
애플리케이션 로직: 프로필 사진 삭제와 같은 애플리케이션에서 작업을 실행할 때 파일을 자동으로 삭제합니다.
보안 및 규정 준수: 민감한 정보를 삭제하는 과정에서 객체를 삭제합니다.
단일 객체를 삭제하는 도구
버킷에서 단일 객체를 삭제하려면 다음 도구 중 하나를 사용하세요. 각 도구는 객체당 개별 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를 사용하여 여러 객체 삭제 | 단일 XML API를 사용하여 여러 객체를 삭제하면 Cloud Storage에서 데이터 액세스 감사 로그를 생성합니다. 데이터 액세스 감사 로그를 사용 설정한 경우 이러한 로그에는 전체 요청 및 개별 객체 삭제에 관한 세부정보가 포함됩니다. 자세한 내용은 다중 객체 삭제 XML API의 감사 로그를 참고하세요. 다중 객체 삭제 XML API에는 다음과 같은 제한사항이 있습니다.
|
| Google Cloud 콘솔 | 객체를 최대 100만 개 삭제하는 경우 Google Cloud 콘솔이 권장되는 옵션입니다. 삭제 요청을 시작하면 프로세스가 백그라운드에서 실행됩니다. Google Cloud 콘솔 헤더에서 알림 버튼( notifications)을 클릭하여 일괄 삭제 상태를 확인할 수 있습니다. |
| 스토리지 일괄 작업 | 매니페스트 파일을 기반으로 삭제를 실행하는 완전 관리형 서비스입니다. 기본 제공 추적 및 재시도를 통해 최대 수십억 개의 객체를 삭제하는 데 적합합니다. 다음 작업을 수행하려면 스토리지 일괄 작업을 사용하는 것이 좋습니다.
|
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를 사용하여 객체 일괄 삭제를 참고하세요. - 수백만 또는 수십억 개의 객체를 삭제해야 하는 경우 스토리지 일괄 작업을 사용하여 대규모 삭제를 안정적으로 수행하세요.
- 특정 기준을 충족하는 객체를 자동으로 삭제해야 하는 경우 객체 수명 주기 관리를 사용하세요.
다음 단계
- 더 이상 필요하지 않은 경우 버킷을 삭제합니다.
- 동일한 버킷에 여러 버전의 객체를 보관할 수 있는 객체 버전 관리에 대해 알아봅니다.
- 조건에 따라 객체 삭제 및 기타 작업을 자동화하도록 객체 수명 주기 관리를 구성합니다.
- 스토리지 일괄 작업을 사용하여 대규모 객체 삭제를 효율적으로 실행합니다.
- 소프트 삭제를 사용하여 객체가 실수로 삭제되지 않도록 보호하세요.
- 객체 보관 잠금 및 버킷 잠금이 데이터 보관 정책을 시행하는 데 어떻게 도움이 되는지 알아봅니다.