Moving Machine Image from one project to another project as VM

Indrajit Bhagat
1 min readJan 29, 2022

Open the cloud shell with the source project

Reference URL: https://cloud.google.com/compute/docs/machine-images/create-instance-from-machine-image

Primary Project id: firstproject-ib

Second Project id: secondproject-ib

Source Instance Name: sourcevm

Target Instance Name: targetvm

Machine Image: sourcevmimages

Zone: us-central1-c

1. Create machine image from existing VM:

$ gcloud beta compute machine-images create sourcevmimages — source-instance=sourcevm — source-instance-zone=us-central1-c

Created [https://www.googleapis.com/compute/beta/projects/firstproject-ib/global/machineImages/sourcevmimages].

NAME: sourcevmimages

STATUS: READY

2. Describe the machine image and find the selfLink:

$ gcloud beta compute machine-images describe sourcevmimages — project=firstproject-ib | grep -i selfLink

selfLink: https://www.googleapis.com/compute/beta/projects/firstproject-ib/global/machineImages/sourcevmimages

3. Use the selfLink instead of a machine-image name when creating a VM in the new project:

$ gcloud beta compute instances create targetvm — project=secondproject-ib — zone=us-central1-c — source-machine-image=projects/firstproject-ib/global/machineImages/sourcevmimages — service-account=344403629673-compute@developer.gserviceaccount.com

Created [https://www.googleapis.com/compute/beta/projects/secondproject-ib/zones/us-central1-c/instances/targetvm].

--

--