如何将图像机器导出到另一个GCP帐户?

Fáb*_*der 5 google-compute-engine google-cloud-platform

我想将一个帐户中创建的机器映像导入到另一个谷歌云平台帐户中。你可以帮帮我吗?

Jos*_*llo 12

有一种方法可以使用来自不同项目的机器映像来创建实例和新机器映像。

\n

I\xe2\x80\x99ve 在我自己的项目中重现了此场景,并且我能够使用来自不同项目的计算机映像来创建我的实例,I\xe2\x80\x99ve 遵循了下一个文档

\n

我已经my-machine-image在我的计算机上创建了一个计算机映像,并且我向新项目下的 machine-image-project-origin服务帐户授予了权限。123456789000-compute@developer.gserviceaccount.comvm-project-destination

\n

值得一提的是,mymachine-image-project-origin 和 myvm-project-destination属于不同的组织,并且使用不同的帐户创建。

\n

要使用 gcloud 命令行工具授予对my-machine-image项目中存储的 访问权限:machine-image-project-origin

\n
gcloud beta compute machine-images add-iam-policy-binding my-machine-image \\\n    --project=machine-image-project-origin \\\n    --member=\'serviceAccount:123456789000-compute@developer.gserviceaccount.com\' \\\n    --role=\'roles/compute.admin\'\n
Run Code Online (Sandbox Code Playgroud)\n

你会得到类似的东西:

\n
Updated IAM policy for machine image [my-machine-image].\nbindings:\n- members:\n  - serviceAccount:123456789000-compute@developer.gserviceaccount.com\n  role: roles/compute.admin\netag: BwXtXMjY8wZ=\nversion: 1\n\n
Run Code Online (Sandbox Code Playgroud)\n

my-instance然后在我的新项目中使用此图像创建一个新实例vm-project-destination

\n
gcloud beta compute instances create my-instance \\\n --project=vm-project-destination \\\n --zone us-east1-b \\\n --source-machine-image projects/machine-image-project-origin/global/machineImages/machine-image-to-share \\\n --service-account 123456789000-compute@developer.gserviceaccount.com\n
Run Code Online (Sandbox Code Playgroud)\n

你会得到类似的东西:

\n
Created [https://www.googleapis.com/compute/beta/projects/vm-project-destination/zones/us-east1-b/instances/my-instance].\nNAME             ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUS\nmy-instance      us-east1-b  n1-standard-1               10.122.0.2   35.222.19.36  RUNNING\n
Run Code Online (Sandbox Code Playgroud)\n

然后,如果您愿意,您可以根据我们已经创建的新实例创建一个新的计算机映像,该映像基本上是原始项目中创建的计算机映像的副本。

\n

另一方面,我建议您查看以下有关提问的指南:如何提出好问题?以及如何创建最小、完整且可验证的示例,以便为您正在做的事情和想要实现的目标提供更好的背景。

\n

我希望这个信息对您有所帮助。

\n


小智 3

首先查看这些文档:这里

这应该能让您深入了解跨帐户共享图像。

一旦您正确共享了对其他帐户图像的访问权限。我相信你可以做这样的事情:

gcloud compute --project=destinationproject images create dest-image --source-image=src-image --source-image-project=sourceproject