6

我需要创建一个没有 VPC 的 Google Compute Engine 虚拟机实例。

对于我正在使用的App环境,我需要直接使用公共IP地址,例如DigitalOcean Droplet,所以如果我运行ifconfig命令应该显示带有公共IP地址的界面。

4

3 回答 3

2

每个 Compute Engine 实例至少属于一个 VPC 网络。鉴于GCP的软件定义网络架构,您描述的用例可能是不可能的。

于 2020-06-25T08:44:03.090 回答
0

如果虚拟机不属于某个 VPC,则无法在 GCP 中创建虚拟机。控制台 gui 不允许你这样做——你只需要至少有一个界面。

但是 - 有一个解决方法;

  • SSH 到您的虚拟机并创建其他用户和密码;将此用户添加到sudo组:( adduser username; echo 'sudouser:userspass' | chpasswd; usermod -aG google-sudoers sudouser)
  • 登出
  • 启用串行控制台交互式访问
  • 使用串行控制台登录
  • 禁用所有网络接口

这样,您将拥有一个仅具有串行控制台访问权限的 VM - 但是我自己没有尝试过。

于 2020-06-25T11:33:41.407 回答
0

有一种方法可以做到(不是 vpc 部分,因为它不可能,但可以直接在 vm 上查看外部 IP)。步骤如下:

  1. 首先在 VPC 中启动虚拟机,同时在网络部分中将 IP-Forwarding 设置为开启。--> 在创建的时候做,一旦创建了虚拟机,你就不能这样做了。

  2. 在您的项目和 vpc 中保留一个外部 IP。

  3. 在 VPC 路由中,创建一个路由并为目标网络 xxxx/32(保留的公共 IP)--> 将下一跳指向 VM。

  4. 在 VM 中,创建一个 Sub 接口并使用 ip addr 直接分配公共 IP。

注意:这仅在您能够访问 VPC 时才有效,例如:通过公共 IP 访问虚拟机的 VPN。

于 2020-06-27T17:39:47.250 回答