在控制台中更改 Google Cloud Compute Engine 实例的内部静态 IP 地址

ctr*_*brk 4 google-compute-engine google-cloud-platform

我有一个现有的云计算引擎实例,该实例被错误地分配了错误的静态内部 IP。

我无法找到使用控制台或其他方式将内部 IP 地址修改为正确值的方法。我尝试保留一个新的静态内部 IP,这很容易,但无法将其分配给现有资源。

我说的是 Google Console,而不是操作系统。我知道如何更改操作系统本身的值。

当我直接在 Google Console 上查看资源并尝试在 Google Console 中编辑 nic0 时,它没有提供任何将现有静态 IP 修改为其他地址的选项。它只是说“静态IP:10.xxx”。

除了不能重复使用资源名称的政策之外,我可以轻松地删除该资源并创建一个新资源。我想要这个特定的资源名称,所以杀死它或克隆它不是一个选择。我只需要修改它的内部IP即可!

编辑添加:要明确的是,我停止实例没有问题。我只是不想销毁它,因为保留的命名策略阻止了资源名称的重复使用。我需要将就地资源修改为新的内部静态保留 IP。

Fle*_*uri 8

截至 2021 年,接受的答案是不正确的。您可以将具有错误内部静态 IP 地址的实例移至其他网络,然后将其移回原始网络:奇怪的是,这允许您重新分配内部 IP。


小智 6

一旦创建了虚拟机实例,您就无法更改内部 IP。这是明确提到的。

您唯一的选择是创建一个具有静态 IP 的新虚拟机。您可以从正在使用的虚拟机创建磁盘快照,然后从该磁盘创建一个新的虚拟机,并标记--private-network-ip

从快照创建磁盘:

gcloud compute --project "your-project" disks create "instance-x" \
--size "100" 
--zone "europe-west1-c" \
--source-snapshot "snapshot-x" \
--type "pd-standard" 
Run Code Online (Sandbox Code Playgroud)

使用磁盘创建具有预定义内部 IP 的新 VM:

gcloud compute --project=your-project instances create instance-x \
--zone=europe-west1-c \
--private-network-ip=your-ip \
--disk=name=instance-x,device-name=instance-x,mode=rw,boot=yes,auto-delete=yes
Run Code Online (Sandbox Code Playgroud)