【问题标题】:Google serverless VPC connector does not access GCE instance with multiple network interfacesGoogle 无服务器 VPC 连接器无法访问具有多个网络接口的 GCE 实例
【发布时间】:2020-01-24 06:07:00
【问题描述】:

无论如何我可以将具有 默认网络上的 VPC 连接器 的 Cloud Functions 连接到具有多个网络接口的 GCE 实例,其中 nic0 是其他网络 nic1 是默认网络

所以我有一个具有多个网络接口的 GCE 实例。

nic0 is someother network nic1 is default network

我在 default 网络上创建了一个无服务器 VPC 连接器。并使用该连接器与 Google Cloud 功能连接到 GCE 实例。

问题是当网络接口被交换即nic0是默认网络nic1是其他网络时,VPC连接器连接成功并且云功能可以到达GCE但是当 nic0 是其他网络 并且 nic1 是默认网络 时,云功能无法到达 GCE。

我尝试了以下方法:

  1. 我尝试交换网络接口,即默认为 nic0,它可以工作,但我需要 nic0 用于 someother 网络以连接到另一个外部服务器,因此 default 位于 nic1 上。
  2. 我尝试制定防火墙规则,但显然在这种情况下不需要它们,因为我已经设置了必要的规则。
  3. 我尝试在 someother 网络上创建一个 VPC 连接器,以便它可以连接到 nic0,但这也不起作用。 VPC 连接器应位于默认网络上。

注意:我的 IAM 权限设置正确,因为我已成功将云功能连接到 GCE 实例,且仅使用默认网络。

【问题讨论】:

  • 您提到网卡位于不同的网络中。这些 VPC 或子网是否在同一个 VPC 中?如果不同,它们是区域性的但在它们之间路由吗?另外,交换时网卡配置是否与 VPC CIDR 兼容?
  • 两个网卡都有不同的 VPC 网络,这也意味着它们的子网位于各自的 VPC 网络中。但是两个 VPC 网络都在同一个区域,并且有防火墙规则允许它们之间的流量,我相信,即 默认网络 具有定义到 其他网络 的路由。注意:我不是网络方面的专家,所以如果我听起来像个新手,或者有什么不清楚的地方,或者使用的术语有误,我很抱歉。
  • 嗨,只是想获取详细信息以进行复制;)。那么,当您交换网卡时,您是否也在更改地址以匹配相应的 VPC CIDR?交换后,您是否仍然能够使用 GCF 以外的其他客户端访问两个 VPC 中的 VM 服务?
  • 这是一个很好的观点。我正在更改地址以匹配相应的 VPC CIDR,但在交换后我没有尝试使用其他客户端进行访问。我会检查并回复你

标签: google-cloud-platform google-cloud-functions google-compute-engine serverless google-vpc


【解决方案1】:

无需进一步配置,辅助网络接口 only provide access to the immediate subnet they are attached to,这包括无服务器 VPC 连接器,因为它们本质上与您的实例所连接的子网不同。

要解决这个问题,您需要在辅助接口所在实例的操作系统中创建静态路由。这显然会因您的操作系统而异,但在 Debian-9 上,您可以使用以下命令进行设置:

sudo ip route add [MY_CONNECTOR_SUBNET] via [ETH1_DEFAULT_ROUTER] dev eth1

其中 ETH1_DEFAULT_ROUTER 是 ETH1 子网的 .1 地址,MY_CONNECTOR_SUBNET 是连接器配置使用的 CIDR 格式 /28 子网(例如 10.50.1.0/28,但这取决于您的设置方式你的连接器)。

当然,这不会在启动时持续存在,因为这也是特定于操作系统的配置,但它应该让你知道这是否是你的问题。

此外,“默认”网络并没有什么特别之处——它只是一个自动创建的自动模式网络,当您连接连接器时,没有任何理由不应该工作到 nic0 “其他”网络。此处发生的唯一“特殊”情况是 nic0 为所有来自 VM 的流量获取默认路由,因此不需要添加静态路由来访问同一网络上的无服务器 VPC 连接器。

【讨论】:

    猜你喜欢
    • 2018-12-16
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    相关资源
    最近更新 更多