【问题标题】:Can I change the network of an existing Google Compute Engine VM我可以更改现有 Google Compute Engine 虚拟机的网络吗
【发布时间】:2014-01-16 15:43:41
【问题描述】:

我有几个 Google Compute Engine (GCE) 虚拟机分布在两个 GCE 网络中。现在我想将它们全部移动到一个共享网络,但我找不到更改现有 VM 网络的方法。有没有办法做到这一点,还是我必须在新网络中重新创建虚拟机?

【问题讨论】:

标签: networking virtual-machine google-compute-engine


【解决方案1】:

您必须在新网络中重新创建虚拟机。

【讨论】:

  • Brian,我倾向于同意你的回答,但你有任何官方文件可以证明这一点吗?谢谢,杰夫
  • 我找不到任何明确说明这一点的文档,但是当您创建一个实例并为其接口选择一个网络时,会有帮助文本说 网络接口是永久的
【解决方案2】:

谷歌开发者控制台

虽然您不能直接移动实例,但 Google Developers Console 现在具有克隆此实例的功能。转到 Google Developers Console,导航到 Project ID -> Compute Engine -> VM Instances -> 。向下滚动到最后,您应该会看到该选项

点击克隆此实例后,您将进入新的实例创建页面,您可以选择要克隆目标实例的区域。


gcutil

您可以使用gcutil moveinstances 命令将实例从一个区域移动到另一个区域。您甚至可以使用正则表达式移动实例列表,例如:

gcutil moveinstances --source_zone=zone-a
                             --destination_zone=zone-b "i-[0-9]" "b-.*"

如需了解更多信息,请输入gcutil help moveinstances

【讨论】:

  • 问题是如何在网络之间而不是区域之间移动实例。这是一个很好的解释,但并未涵盖所提出的问题。
【解决方案3】:

Google 最近添加了此功能,您现在可以编辑网络。

只需选择要更改网络的虚拟机,然后点击顶部的“编辑”按钮。然后向下滚动到“网络接口”,您会在 nic 旁边看到一支铅笔。

【讨论】:

    【解决方案4】:

    只需创建 vm 实例的快照,然后从该快照创建新的 vm 实例并指定不同的网络。

    【讨论】:

      【解决方案5】:

      是的,您可以这样做,而且非常简单。

      使用 Instance-DeleteAccessConfig 和 Instace-AddAccessConfig 方法在正在运行的实例上热删除和热添加网络配置。

      在这种情况下,您将首先在实例上调用 deleteAccessConfig 以将其从第一个网络中删除,然后调用 addAccessConfig 将其添加到第二个网络。

      此处的文档:https://developers.google.com/compute/docs/reference/latest/instances/deleteAccessConfighttps://developers.google.com/compute/docs/reference/latest/instances/addAccessConfig

      【讨论】:

      • 克里斯,目前尚不清楚如何执行此操作,因为 addAccessConfig 端点似乎不接受网络名称或 ID...所以我不确定这将如何允许您更改网络。您能否澄清一下您没有提供有关如何更改 IP 地址的说明?
      • 我不明白如何做这个答案所暗示的......但只是删除并重新创建我的实例(确保不删除它的磁盘)对我来说很好。
      猜你喜欢
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 2020-09-13
      • 2010-11-26
      • 2017-01-05
      • 2018-07-25
      • 2020-01-29
      • 1970-01-01
      相关资源
      最近更新 更多