이 페이지에서는 소프트 삭제된 버킷을 나열하고 복원하는 방법을 설명합니다.
개요
버킷이 소프트 삭제되면 소프트 삭제 보관 기간 동안 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
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
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
: 복원할 소프트 삭제된 버킷의 고유한 영구 세대 번호입니다. 버킷의 생성 번호를 가져오려면 조용히 삭제된 버킷 나열을 참고하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.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는 소프트 삭제된 버킷을 활성 상태로 복원합니다. 버킷을 복원해도 소프트 삭제 시 버킷에 있던 객체는 복원되지 않습니다. 삭제 시 버킷에 있던 소프트 삭제된 객체를 복원하려면 소프트 삭제된 객체 복원을 참고하세요.