버킷 이동 및 이름 바꾸기

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

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

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

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

    • 위치 간에 데이터를 이동하면 네트워크 사용 비용이 발생합니다. 또한 데이터를 이동하면 소스 데이터의 스토리지 클래스 및 대상 버킷의 위치에 따라 추가 비용이 발생할 수 있습니다. 자세한 내용은 Cloud Storage 가격 책정을 참조하세요.

필수 권한

콘솔

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 역할을 참조하세요. 또는 특별히 제한된 권한이 있는 커스텀 역할을 만들 수 있습니다.

버킷 간에 데이터 이동

콘솔

Google Cloud Console 내에서 Cloud Storage Transfer Service를 사용합니다.

  1. 아직 대상 버킷이 없으면 버킷을 만듭니다.
  2. Google Cloud 콘솔에서 전송 페이지를 엽니다.

    전송 페이지 열기

  3. 전송 작업 만들기를 클릭합니다.
  4. 단계별 안내를 따르면서 각 단계를 마칠 때마다 다음 단계를 클릭합니다.

    • 소스 선택: Google Cloud Storage 버킷을 소스 유형으로 사용하고, 원하는 버킷 이름을 직접 입력하거나 찾아보기를 클릭하여 원하는 버킷을 찾아서 선택합니다.

    • 대상 선택: 원하는 버킷 이름을 직접 입력하거나 찾아보기를 클릭하여 원하는 버킷을 찾아서 선택합니다.

    • 설정 선택: 전송된 후 소스에서 파일 삭제 옵션을 선택합니다.

    • 예약 옵션: 이 섹션은 무시할 수 있습니다.

  5. 단계별 안내를 완료한 후 만들기를 클릭합니다.

    그러면 이전 버킷의 객체가 새 버킷으로 복사되는 프로세스가 시작됩니다. 이 과정은 다소 시간이 걸릴 수 있지만 만들기를 클릭한 후에는 Google Cloud Console에서 나갈 수 있습니다.

    전송 진행률을 보려면 다음 안내를 따르세요.

    Google Cloud 콘솔에서 전송 페이지를 엽니다.

    전송 페이지 열기

    Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.

  6. 설정 중 전송 완료 후 소스 객체 삭제 체크박스를 선택한 경우에는 전송이 완료된 후 이전 버킷에서 객체를 삭제하기 위해 어떤 작업도 수행할 필요가 없습니다. 하지만 개별적으로 수행해야 하는 이전 버킷 삭제를 수행해야 할 수도 있습니다.

명령줄

  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--recursive 옵션과 함께 gcloud alpha storage cp 명령어를 사용합니다.

      gcloud alpha storage cp --include-managed-folders --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

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

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

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

  3. 소스 버킷을 삭제하려면 다음 방법 중 하나를 사용합니다.

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

      gcloud storage rm --recursive gs://SOURCE_BUCKET

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

    • 소스 버킷의 모든 객체와 관리 폴더를 소스 버킷 자체와 함께 재귀적으로 삭제하려면 gcloud alpha storage rm 명령어를 --recursive 옵션과 함께 사용합니다.

      gcloud alpha storage rm --recursive gs://SOURCE_BUCKET

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

    • 소스 버킷 자체를 삭제하지 않고 소스 버킷에서 객체 및 관리 폴더를 삭제하려면 --recursive 플래그 없이 gcloud alpha storage rm 명령어를 사용합니다.

      gcloud alpha 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. 소스 버킷을 삭제합니다.

다음 단계