【发布时间】:2020-06-25 06:38:36
【问题描述】:
我需要创建一个没有 VPC 的 Google Compute Engine 虚拟机实例。
对于我正在使用的App环境,我需要直接使用公共IP地址,例如DigitalOcean Droplet,所以如果我运行ifconfig命令应该会显示带有公共IP地址的界面。
【问题讨论】:
标签: virtual-machine google-compute-engine google-vpc
我需要创建一个没有 VPC 的 Google Compute Engine 虚拟机实例。
对于我正在使用的App环境,我需要直接使用公共IP地址,例如DigitalOcean Droplet,所以如果我运行ifconfig命令应该会显示带有公共IP地址的界面。
【问题讨论】:
标签: virtual-machine google-compute-engine google-vpc
每个 Compute Engine 实例至少属于一个 VPC 网络。鉴于 GCP 的软件定义网络架构,您描述的用例可能是不可能的。
【讨论】:
如果虚拟机不属于某个 VPC,您将无法在 GCP 中创建虚拟机。控制台 gui 不允许您这样做 - 您只需要至少有一个界面即可。
但是 - 有一个解决方法;
sudo 组:(adduser username; echo 'sudouser:userspass' | chpasswd; usermod -aG google-sudoers sudouser)这样您将拥有一个只能访问串行控制台的虚拟机 - 但是我自己没有尝试过。
【讨论】:
有办法做到这一点(不是 vpc 部分,因为它不可能,而是直接在 vm 上查看外部 IP)。步骤如下:
首先在 VPC 中启动虚拟机,启动时,在网络部分中,将 IP-Forwarding 设置为开启。 --> 边创建边做,一旦创建了虚拟机,就不能这样做了。
在您的项目和 vpc 中保留一个外部 IP。
在 VPC 路由中,创建一个路由并为目标网络 x.x.x.x/32(保留的公共 IP)--> 将下一跳指向 VM。
在VM中,创建一个Sub接口,直接使用ip addr分配公网IP。
注意:这仅在您能够访问 VPC 时才有效,例如:通过公共 IP 访问虚拟机的 VPN。
【讨论】: