0

我有一个项目设置,可以通过在 VPC 网络上启动的 AppEngine 灵活实例连接到本地资源,该网络设置了与本地防火墙的 Cloud VPN 连接。

随着针对 us-east1 区域的无服务器 VPC 的发布,我想替换我的设置以使用 AppEngine 标准 Gen2 实例与灵活实例来节省成本。我为我的 AppEngine 应用程序所在的区域/网络设置了一个无服务器 VPC,并配置了我的 Cloud VPN 连接,相应地更新了我的 app.yaml,并推送了一个新版本。

我不断收到尝试使用无服务器 VPC 连接到我的本地资源的新版本的超时错误。

一些上下文:

  • VPC 网络被命名为“门户”并设置为“自动”模式(为每个区域自动创建子网)
  • Cloud VPN 在“门户”网络中设置为经典 VPN,在 us-east1 区域中使用基于路由的路由,连接到我的远程本地 192.168.11.0/24 子网。
  • VPC 网络上存在用于目的地 192.168.11.0/24 的路由,以使用我设置的 Cloud VPN 作为下一跃点(自动创建)
  • 有了上述,“门户”网络上的 AppEngine 灵活部署可以连接到我的本地资源,就像“门户”网络上的任何其他 Compute Engine 虚拟机一样
  • 我在子网 10.8.0.0/28 的 us-east1 区域上设置了无服务器 VPC 连接器

我不太清楚无服务器 VPC 是如何工作的,所以我什至不确定如何开始进行故障排除。当我单击 192.168.11.0/24 目标的路由规则时,我可以看到 AppEngine Flexible 实例与一些“serverless-vpc-access”标记的实例一起列出,这些实例似乎位于不同的子网但使用 10.8.0.0/ 28 个 IP。

这个配置应该工作吗?如果没有,我需要进行哪些更改才能支持这一点?

4

2 回答 2

1

您的问题(很可能)是由静态路由引起的。您是否有从您的 VPN 到 VPC 连接器的返回流量的路由?查看为 VPN 定义的路由。

于 2019-09-30T22:50:53.343 回答
1

无服务器 VPC 连接器的目的是允许从 App Engine 标准连接到您的 VPC 网络,因为 App Engine 标准环境由 Google 托管和管理,而不是您的 VPC 网络的一部分。

可以在此处找到更多详细信息:[ https://cloud.google.com/vpc/docs/configure-serverless-vpc-access]

话虽如此,您应该验证以下内容:

  1. 确保您已将新子网 (/28) 添加到本地本地路由,并将您的 VPN 网关作为下一跃点。由于您使用的是基于路由的路由,因此与 VPN 上的流量选择器无关。确保您的本地防火墙配置为接受新配置 (/28) 的来回连接。

  2. 虽然这可能不适用于您,但我只是想指出,通过无服务器 VPC 连接器与 App Engine 标准环境进行通信是不可能的,除非它是在源自同一个 App Engine 的同一个原始 tcp 连接(TCP已确立的)。

正如您所描述的,您的配置绝对可以实现。如前所述,您只需要验证几件事即可确保其正常工作。

于 2019-10-01T04:03:15.683 回答