적절한 IAM 권한이 있고 필요한 조직 정책이 시행되는 경우 Resource Manager API를 사용하여 프로젝트 리소스를 조직 리소스 간에 마이그레이션할 수 있습니다.
gcloud
프로젝트를 다른 조직 리소스로 마이그레이션하려면 다음 명령어를 실행합니다.
gcloud beta projects move PROJECT_ID \ --organization ORGANIZATION_ID
또한 다음 명령어를 사용하여 폴더를 대상 리소스로 지정할 수도 있습니다.
gcloud beta projects move PROJECT_ID \ --folder FOLDER_ID
다음 필드를 바꿉니다.
- PROJECT_ID는 마이그레이션하려는 프로젝트의 ID 또는 번호입니다.
- ORGANIZATION_ID는 프로젝트를 이동하려는 조직 리소스의 ID입니다. 조직 리소스 또는 폴더 중 하나의 대상만 지정할 수 있습니다.
- FOLDER_ID는 프로젝트를 이동하려는 폴더의 ID입니다. 폴더 또는 조직 리소스 중 하나의 대상만 지정할 수 있습니다.
API
v1 Resource Manager API를 사용하여 parent
필드를 대상 리소스의 ID로 설정하여 프로젝트를 조직 리소스 간에 마이그레이션할 수 있습니다.
프로젝트를 이전하려면 다음 단계를 따르세요.
projects.get()
메서드를 사용하여project
객체를 가져옵니다.parent
필드를 조직 리소스의 ID 또는 이동할 폴더의 ID로 설정합니다.projects.update()
메서드를 사용하여project
객체를 업데이트합니다.
다음은 위 단계를 보여주는 코드 스니펫입니다.
project = crm.projects().get(projectId=flags.projectId).execute()
project['parent'] = {
'type': 'organization',
'id': flags.organizationId
}
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()
마이그레이션 롤백
실수로 프로젝트를 마이그레이션한 경우 이전 소스를 새 대상으로, 이전 대상을 새 소스로 지정하고 마이그레이션을 다시 수행하여 작업을 롤백할 수 있습니다. 필요한 IAM 권한이 있고 이를 완전히 새로운 마이그레이션처럼 허용하는 조직 정책이 시행 중이어야 합니다.
프로젝트가 조직 없음에서 조직 리소스로 마이그레이션된 마이그레이션을 롤백하려면 Google Cloud Customer Care에 문의하세요.