소프트 삭제된 버킷 사용

소프트 삭제 기능 개요

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

개요

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

고려사항

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

  • 버킷이 소프트 삭제되면 버킷 내의 소프트 삭제된 객체를 나열하거나 복원하려면 먼저 버킷을 복원해야 합니다.

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

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

  • gcloud CLI 또는 JSON API를 사용하여 소프트 삭제된 버킷을 복원하면 버킷의 객체는 복원되지 않습니다. 소프트 삭제된 객체를 복원하려면 소프트 삭제된 버킷을 복원한 후 객체 복원 작업을 실행해야 합니다.

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

필수 권한

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

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

필수 권한

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

  • storage.buckets.list
  • storage.buckets.restore
  • Google Cloud 콘솔을 사용하여 소프트 삭제된 버킷을 복원할 때 객체를 복원합니다.
    • storage.objects.restore
    • storage.objects.create

소프트 삭제된 버킷 나열

나열 작업을 수행하여 소프트 삭제된 버킷의 메타데이터를 검색할 수 있습니다.

프로젝트에서 소프트 삭제된 버킷을 나열하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.

    버킷으로 이동

  2. 옵션 보기를 클릭합니다.

  3. 소프트 삭제된 버킷만을 선택합니다.

  4. 저장을 클릭합니다.

    소프트 삭제된 버킷 목록이 표시됩니다. 소프트 삭제된 버킷에 여러 세대가 있는 경우 각 버킷 세대가 별도의 행에 표시됩니다.

명령줄

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

gcloud storage ls --buckets --soft-deleted --full

REST API

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"

소프트 삭제된 버킷 복원

소프트 삭제된 버킷을 복원하려면 다음 안내를 따르세요.

Google Cloud 콘솔을 사용하여 소프트 삭제된 버킷을 복원할 때 버킷에 있던 소프트 삭제된 객체도 복원할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.

    버킷으로 이동

  2. 소프트 삭제된 버킷이 아직 표시되지 않은 경우 버킷 목록에 표시합니다. 단계는 소프트 삭제된 버킷 나열을 참고하세요.

  3. 복원하려는 버킷의 행에서 복원을 클릭합니다.

  4. 버킷에 여러 세대가 있는 경우 버킷 세대 지정 탭에서 복원할 세대를 선택합니다.

  5. 복원할 객체 지정 탭을 클릭합니다.

  6. 복원할 객체 지정 섹션에서 버킷에 있던 소프트 삭제된 객체를 복원할지 여부를 선택합니다. 사용할 수 있는 옵션은 다음과 같습니다.

    • 객체를 복원하지 않습니다.

      필요한 경우 나중에 소프트 삭제된 객체를 복원할 수 있습니다.

    • 모든 객체 복원

    • 기준과 일치하는 객체 복원 다음 단계를 따르세요.

      1. 객체를 복원할 기간을 선택합니다.

      2. 선택사항: glob 패턴과 일치하는 객체만 복원하려면 glob 패턴으로 필터링을 선택하고 glob 패턴을 입력합니다.

  7. 선택사항: 추가 옵션 섹션에서 추가 복원 동작을 지정합니다.

  8. 복원을 클릭합니다.

    Cloud Storage는 소프트 삭제된 버킷을 라이브 상태로 복원합니다.

    버킷의 객체를 복원하면 Cloud Storage에서 객체의 일괄 복원 작업을 만듭니다. 이 작업은 비동기적으로 발생하며 시작하는 데 1시간 이상 걸릴 수 있습니다. Google Cloud 콘솔 헤더에서 알림 버튼()을 클릭하여 작업 진행 상황을 추적할 수 있습니다. 또는 gcloud CLI를 사용하여 연결된 장기 실행 작업의 상태를 추적할 수 있습니다.

명령줄

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

  gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER

다음을 바꿉니다.

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

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

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

REST API

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는 소프트 삭제된 버킷을 라이브 상태로 복원합니다. 버킷을 복원해도 버킷에 있던 객체는 복원되지 않습니다. 소프트 삭제된 객체를 복원하려면 소프트 삭제된 객체 복원을 참고하세요.

다음 단계