버킷을 만들 때는 버킷 이름, 지리적 위치, 버킷이 속한 프로젝트를 포함하여 설정하는 일부 속성이 영구적으로 적용되고 변경할 수 없습니다. 하지만 실질적으로 버킷을 이동하거나 이름을 변경하는 방법이 있습니다.
이전 버킷에 데이터가 없는 경우 버킷을 삭제하고 원하는 속성으로 다른 버킷을 만듭니다.
이전 버킷에 데이터가 있는 경우 원하는 속성으로 새 버킷을 만들고, 이전 버킷에서 새 버킷으로 데이터를 복사하고, 이전 버킷과 해당 콘텐츠를 삭제합니다. 이 페이지의 단계는 이 프로세스에 대해 설명합니다.
새 버킷에 이전 버킷과 동일한 이름을 지정하려면 데이터를 이름이 다른 버킷으로 임시로 이동해야 합니다. 이렇게 하면 버킷 이름을 재사용할 수 있도록 원래 버킷을 삭제할 수 있습니다.
위치 간에 데이터를 이동하면 네트워크 사용 비용이 발생합니다. 또한 데이터를 이동하면 소스 데이터의 스토리지 클래스 및 대상 버킷의 위치에 따라 추가 비용이 발생할 수 있습니다. 자세한 내용은 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를 사용합니다.
- 아직 대상 버킷이 없으면 버킷을 만듭니다.
Google Cloud 콘솔에서 전송 페이지를 엽니다.
- 전송 작업 만들기를 클릭합니다.
단계별 안내를 따르면서 각 단계를 마칠 때마다 다음 단계를 클릭합니다.
소스 선택: Google Cloud Storage 버킷을 소스 유형으로 사용하고, 원하는 버킷 이름을 직접 입력하거나 찾아보기를 클릭하여 원하는 버킷을 찾아서 선택합니다.
대상 선택: 원하는 버킷 이름을 직접 입력하거나 찾아보기를 클릭하여 원하는 버킷을 찾아서 선택합니다.
설정 선택: 전송된 후 소스에서 파일 삭제 옵션을 선택합니다.
예약 옵션: 이 섹션은 무시할 수 있습니다.
단계별 안내를 완료한 후 만들기를 클릭합니다.
그러면 이전 버킷의 객체가 새 버킷으로 복사되는 프로세스가 시작됩니다. 이 과정은 다소 시간이 걸릴 수 있지만 만들기를 클릭한 후에는 Google Cloud Console에서 나갈 수 있습니다.
전송 진행률을 보려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 전송 페이지를 엽니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
설정 중 전송 완료 후 소스 객체 삭제 체크박스를 선택한 경우에는 전송이 완료된 후 이전 버킷에서 객체를 삭제하기 위해 어떤 작업도 수행할 필요가 없습니다. 하지만 개별적으로 수행해야 하는 이전 버킷 삭제를 수행해야 할 수도 있습니다.
명령줄
대상 버킷을 만듭니다(아직 없는 경우).
소스 버킷의 콘텐츠를 대상 버킷에 복사하려면 다음 방법 중 하나를 사용합니다.
소스 버킷의 모든 객체를 대상 버킷에 재귀적으로 복사하려면
--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
입니다.
소스 버킷을 삭제하려면 다음 방법 중 하나를 사용합니다.
소스 버킷의 모든 객체를 소스 버킷 자체와 함께 재귀적으로 삭제하려면
--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
다음 단계
사용 가능한 버킷 위치 및 버킷 이름 지정 가이드라인 알아보기
Google Cloud 콘솔을 사용하여 데이터 전송 만들기 및 관리에 대해 자세히 알아보기
버킷을 더 쉽게 이동할 수 있는 비공식적인 도구인 버킷 이동자 도구 살펴보기