GCP 的 Compute Engine 在开虚拟机的时候,需要同时选择虚拟机所在的机房(Region)及子区域(Zone),一般来说在虚拟机建立时,选好 Region 及 Zone 之后,就不能再更换或搬家,只能删掉重建,不过 gcloud 指令提供了换 Zone 的功能,让这件事情变得很简单,只需要一行指令:

整个搬迁的过程需要点时间,在过程间 GCP 控制界面上并不会有防呆机制,因此千万不要在这过程中修改任何相关的设定或资源,以免搬迁过程失败。

也就是说,要先把这台虚拟机开机,才能使用 gcloud compute instances move 指令搬机器。

指令简单归简单,深入研究可以发现,这个指令其实只是把一连串固定的操作全部整合成一个指令而已。GCP 也提供了全手动的方式帮机器搬家,整个操作步骤大约就是关闭关机后自动删除硬盘功能、将硬盘建立 snapshot、删除旧虚拟机、以 snapshot 在指定的 Zone 建立新虚拟机、开机,步骤有点复杂,有兴趣可以翻阅参考连结的第一个,里面有详尽的步骤。

应该是跟虚拟机的网络设定有关,就没有深入研究要怎么解决,目前看起来如果需要跨 Region 搬迁虚拟机,可能只能根据文件上的步骤手动搬迁了。