将Google计算引擎实例迁移到其他区域

SYM*_*SYM 11 google-compute-engine

我正在尝试将几个计算引擎实例从欧洲迁移到亚洲.我需要这样做,因为这些服务器的大多数用户都在亚洲,他们可以更快地访问他们所在地区的服务器.我正在尝试遵循命令.

gcloud compute instances move asiawindows1 --zone europe-west1-d  --destination-zone asia-east1-c
Run Code Online (Sandbox Code Playgroud)

我尝试这个时出现以下错误

属于子网的实例无法在区域间移动.

移动这些服务器而不在亚洲区域手动设置它们的最佳方法是什么?

小智 18

按照以下Google Cloud Platform中的步骤操作

  1. 创建VM实例的快照
  2. 使用此快照创建磁盘
  3. 使用创建的磁盘创建映像
  4. 使用上面步骤中创建的图像创建新实例并更改您的区域


小智 7

您使用的命令用于跨越相同区域的区域而不是跨区域.

您可以创建实例的图像,并使用该图像在不同区域中创建新实例.


Aru*_*dev 5

如果自动移动没有发生,您可以尝试手动移动虚拟机实例。首先列出所有磁盘,选择合适的磁盘进行快照。

gcloud compute disks list
Run Code Online (Sandbox Code Playgroud)

从列表中识别磁盘名称并创建该磁盘的快照

gcloud compute disks snapshot <disk_name> --snapshot-names <snapshot_disk_name> --zone <current_zone>
Run Code Online (Sandbox Code Playgroud)

现在您可以在尝试移动时删除实例。

gcloud compute instances delete <instance_name> --zone <instance_zone>
Run Code Online (Sandbox Code Playgroud)

下一步是根据您在要创建实例的新区域中创建的快照创建磁盘。

gcloud compute disks create <disk_name> --source-snapshot <snapshot_disk_name> --zone <new_zone_name>
Run Code Online (Sandbox Code Playgroud)

现在,您必须创建一个实例,并在其上安装刚刚创建的磁盘。请根据您的需要选择正确的机器类型,这里将使用 f1-micro 创建一个实例。

gcloud compute instances create <instance_name> --machine-type f1-micro --zone <new_zone> 
--disk name=<disk_name>,boot=yes,mode=rw
Run Code Online (Sandbox Code Playgroud)

就是这样。

现在,如果您愿意,可以删除快照

gcloud compute snapshots delete <snapshot_name> 
Run Code Online (Sandbox Code Playgroud)