如何跨项目分享谷歌计算引擎图像?

Jak*_*ski 8 google-compute-engine

从文档中我知道图像是"可由同一项目内任何区域中的任何资源访问"的全局资源.

我正在寻找类似于在AWS中共享AMI的功能.也就是说,我创建一个图像,公开,任何人都可以立即使用它.

如何在GCE中最好地实现类似的东西?问题是我需要创建的图像很大 - 大约100GB.因此,我正在寻找一种共享图像的方式,这种方式不会涉及缓慢复制(例如,从谷歌云存储中的存储桶).

小智 11

您可以使用Google云端存储,但每次下载时都会向您收费,这需要很长时间(如果是100 GB).

更好的解决方案是为用户提供"可以查看"对项目的访问权限.然后,用户可以使用gcloud命令行使用您的图像创建实例.但请注意,该用户将看到您在项目中拥有的所有内容,他将无法更改它.

如果图像的所有者在区域中使用它,则此解决方案更快,您想要使用.因为图像在那里兑现,它将立即开始.另一个优点是,如果有人下载此图片,则所有者不会收取费用.

`gcloud compute instances create [INSTANCE_NAME]
    --image-family [IMAGE_FAMILY]
    --image-project [IMAGE_PROJECT]
    --machine_type=<type-of-machine> 
    --network="default"
    --family my-image-family`
Run Code Online (Sandbox Code Playgroud)

如果您想要授予更多人群的访问权限,您可以创建Google群组,允许群组成员"可以查看"对项目的访问权限.现在,您可以使用Google群组控制谁可以访问它.