소프트 삭제된 버킷 사용

소프트 삭제 기능 개요

이 페이지에서는 소프트 삭제된 버킷을 나열하고 복원하는 방법을 설명합니다.

개요

버킷이 소프트 삭제된 후에는 완전 삭제 시간이 될 때까지 Cloud Storage에 보관되며 소프트 삭제 상태에서는 수정할 수 없습니다. 하드 삭제 시간은 버킷의 객체의 최신 하드 삭제 시간보다 길어야 합니다. 영구 삭제 시간이 지나면 Cloud Storage에서 버킷을 영구 삭제합니다. 소프트 삭제된 버킷을 복원하면 버킷이 활성 상태로 돌아가고 삭제 시 버킷에 있던 객체도 복원할 수 있습니다.

고려사항

  • 악의적인 삭제를 방지하기 위해 소프트 삭제된 버킷은 버킷이 전체 소프트 삭제 보관 기간 동안 보관될 때까지 영구적으로 삭제할 수 없습니다.

  • 버킷이 소프트 삭제되면 버킷을 복원해야 버킷의 소프트 삭제된 객체를 나열하거나 복원할 수 있습니다.

  • 소프트 삭제된 버킷을 복원하려면 버킷의 생성 번호가 있어야 합니다. 소프트 삭제된 버킷의 세대 번호를 검색하려면 소프트 삭제된 버킷 나열을 참고하세요.

  • 소프트 삭제된 버킷은 이름이 같은 활성 버킷이 없는 경우에만 복원할 수 있습니다. 개발자나 다른 사용자가 소프트 삭제된 버킷과 같은 이름으로 버킷을 만드는 경우 새 버킷이 삭제될 때까지 소프트 삭제된 버킷을 복원할 수 없습니다.

  • 버킷 복원 작업은 삭제 시 버킷에 있던 소프트 삭제된 객체를 복원하지 않습니다. 소프트 삭제된 버킷이 복원된 후 소프트 삭제된 객체를 복원하려면 객체 복원 작업을 실행해야 합니다.

  • 태그가 있는 소프트 삭제된 버킷을 복원하면 태그 결합이 복구되지 않을 수 있습니다. 데이터 손실을 방지하려면 태그 결합이 있는 소프트 삭제된 버킷을 복원할 때 버킷의 태그 결합이 복구되었는지 확인하는 것이 좋습니다. 버킷의 태그 결합이 복구되지 않은 경우 복구되지 않은 태그를 버킷에 수동으로 결합해야 합니다.

필수 권한

소프트 삭제된 버킷을 복원하는 데 필요한 권한을 얻으려면 관리자에게 Cloud Storage 프로젝트에 대한 스토리지 관리자 (roles/storage.admin) IAM 역할을 부여해 달라고 요청하세요.

이 사전 정의된 역할에는 소프트 삭제된 버킷을 복원하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

소프트 삭제된 버킷을 복원하려면 다음 권한이 필요합니다.

  • storage.buckets.list
  • storage.buckets.restore

소프트 삭제된 버킷 나열

목록 작업을 실행하여 조용히 삭제된 버킷의 메타데이터를 검색할 수 있습니다.

다음 안내에 따라 프로젝트의 모든 소프트 삭제된 버킷을 나열합니다.

소프트 삭제된 모든 버킷을 나열하려면 gcloud storage ls 명령어를 사용합니다.

gcloud storage ls --buckets --soft-deleted --full
JSON API
  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.

  2. cURL를 사용하여 GET 버킷 요청으로 JSON API를 호출합니다.

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://storage.googleapis.com/storage/v1/b?softDeleted=true"

소프트 삭제된 버킷 복원하기

다음 안내에 따라 조용히 삭제된 버킷을 복원합니다.

소프트 삭제된 버킷을 복원하려면 gcloud storage restore 명령어를 사용합니다.

  gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER

다음을 바꿉니다.

  • BUCKET_NAME: 복원하려는 삭제된 버킷의 이름입니다.

  • GENERATION_NUMBER: 복원하려는 소프트 삭제된 버킷의 영구적이고 고유한 세대 번호입니다. 버킷의 생성 번호를 가져오려면 소프트 삭제된 버킷 나열을 참고하세요.

JSON API
  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.

  2. cURL를 사용하여 POST 버킷 요청으로 JSON API를 호출합니다.

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/restore?generation=GENERATION_NUMBER

    각 항목의 의미는 다음과 같습니다.

    • BUCKET_NAME은 복원하려는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

    • GENERATION_NUMBER는 복원하려는 소프트 삭제된 버킷의 고유한 영구 세대 번호입니다. 버킷의 생성 번호를 가져오려면 소프트 삭제된 버킷 나열을 참고하세요.

Cloud Storage는 소프트 삭제된 버킷을 활성 상태로 복원합니다. 버킷을 복원해도 소프트 삭제 시 버킷에 있던 객체는 복원되지 않습니다. 삭제 시 버킷에 있던 소프트 삭제된 객체를 복원하려면 소프트 삭제된 객체 복원을 참고하세요.

다음 단계