버킷 이동 및 이름 바꾸기

버킷을 만들 때는 버킷 이름, 버킷이 속한 프로젝트를 포함하여 설정하는 일부 속성이 영구적으로 적용되고 변경할 수 없습니다. 하지만 실질적으로 버킷을 이동하거나 이름을 변경하는 방법이 있습니다.

  • 이전 버킷에 데이터가 없는 경우 버킷을 삭제하고 원하는 속성으로 다른 버킷을 만듭니다.

  • 이전 버킷에 데이터가 있는 경우 원하는 속성으로 새 버킷을 만들고, 이전 버킷에서 새 버킷으로 데이터를 복사하고, 이전 버킷과 내용을 삭제하면 됩니다. 이 페이지의 단계에서 이 프로세스를 설명합니다.

    • 새 버킷에 이전 버킷과 동일한 이름을 지정하려면 데이터를 이름이 다른 버킷으로 임시로 이동해야 합니다. 이렇게 하면 버킷 이름을 재사용할 수 있도록 원래 버킷을 삭제할 수 있습니다.

  • 버킷 재배치를 사용하여 지리적 위치 간에 버킷을 이동할 수도 있습니다. 버킷을 재배치하는 방법에 관한 자세한 내용은 버킷 재배치를 참조하세요.

필수 권한

콘솔

Google Cloud 콘솔을 사용하여 이 가이드를 완료하려면 적절한 IAM 권한이 있어야 합니다. 액세스하려는 버킷이 사용자가 만든 프로젝트에 존재할 경우 프로젝트 소유자가 필요한 권한이 포함된 역할을 사용자에게 부여해야 할 수 있습니다.

특정 작업에 필요한 권한 목록은 Google Cloud 콘솔에 대한 IAM 권한을 참조하세요.

관련 역할 목록은 Cloud Storage 역할을 참조하세요. 또는 특별히 제한된 권한이 있는 커스텀 역할을 만들 수 있습니다.

명령줄

명령줄 유틸리티를 사용하여 이 가이드를 완료하려면 적절한 IAM 권한이 있어야 합니다. 액세스하려는 버킷이 사용자가 만든 프로젝트에 존재할 경우 프로젝트 소유자가 필요한 권한이 포함된 역할을 사용자에게 부여해야 할 수 있습니다.

특정 작업에 필요한 권한 목록은 gcloud storage 명령어에 대한 IAM 권한을 참조하세요.

관련 역할 목록은 Cloud Storage 역할을 참조하세요. 또는 특별히 제한된 권한이 있는 커스텀 역할을 만들 수 있습니다.

REST API

JSON API

JSON API를 사용하여 이 가이드를 완료하려면 적절한 IAM 권한이 있어야 합니다. 액세스하려는 버킷이 사용자가 만든 프로젝트에 존재할 경우 프로젝트 소유자가 필요한 권한이 포함된 역할을 사용자에게 부여해야 할 수 있습니다.

특정 작업에 필요한 권한 목록은 JSON 메서드에 대한 IAM 권한을 참조하세요.

관련 역할 목록은 Cloud Storage 역할을 참조하세요. 또는 특별히 제한된 권한이 있는 커스텀 역할을 만들 수 있습니다.

버킷 간에 데이터 이동

콘솔

  1. 아직 대상 버킷이 없으면 버킷을 만듭니다.

  2. 소스 버킷에서 대상 버킷으로 각 객체를 복사합니다.

  3. 소스 버킷과 그 콘텐츠를 삭제합니다.

명령줄

  1. 대상 버킷을 만듭니다(아직 없는 경우).

  2. 소스 버킷의 콘텐츠를 대상 버킷에 재귀적으로 복사하려면 --recursive 옵션과 함께 gcloud storage cp 명령어를 사용합니다.

    gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

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

    • SOURCE_BUCKET은 원래 버킷의 이름입니다. 예를 들면 old-bucket입니다.

    • DESTINATION_BUCKET은 데이터를 이동하려는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

    버킷에서 관리형 폴더플랫 네임스페이스를 사용하는 경우 관리형 폴더를 복사하려면 명령어에 --include-managed-folders 플래그를 포함해야 합니다.

  3. 소스 버킷의 콘텐츠를 소스 버킷 자체와 함께 재귀적으로 삭제하려면 --recursive 옵션과 함께 gcloud storage rm 명령어를 사용합니다.

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    여기서 SOURCE_BUCKET은 원래 버킷의 이름입니다. 예를 들면 old-bucket입니다.

    또는 소스 버킷 자체를 삭제하지 않고 소스 버킷의 콘텐츠만 삭제하려면, --all-versions 플래그와 ** 와일드 카드를 함께 사용하여 gcloud storage rm 명령어를 실행합니다.

    gcloud storage rm --all-versions gs://SOURCE_BUCKET/**

    여기서 SOURCE_BUCKET은 원래 버킷의 이름입니다. 예를 들면 old-bucket입니다.

REST API

JSON API

  1. 아직 대상 버킷이 없으면 버킷을 만듭니다.

  2. 소스 버킷에서 대상 버킷으로 각 객체를 복사합니다.

  3. 소스 버킷에서 각 객체를 삭제합니다.

  4. 소스 버킷을 삭제합니다.

XML API

  1. 아직 대상 버킷이 없으면 버킷을 만듭니다.

  2. 소스 버킷에서 대상 버킷으로 각 객체를 복사합니다.

  3. 소스 버킷에서 각 객체를 삭제합니다.

  4. 소스 버킷을 삭제합니다.

다음 단계