如何使用无服务器 VPC 和 Cloud VPN 将 AppEngine Standard Gen2 连接到本地资源?
How to connect AppEngine Standard Gen2 to local resource using Serverless VPC and Cloud VPN?
我有一个项目设置,我可以在其中通过在 VPC 网络上启动的 AppEngine Flexible 实例连接到本地资源,该网络设置有与本地防火墙的 Cloud VPN 连接。
随着 us-east1 区域无服务器 VPC 的发布,我想将我的设置替换为使用 AppEngine Standard Gen2 实例而不是 Flexible 实例以节省成本。我为托管我的 AppEngine 应用程序的 region/network 设置了一个无服务器 VPC,并配置了我的 Cloud VPN 连接,相应地更新了我的 app.yaml,并推送了一个新版本。
我不断收到尝试使用无服务器 VPC 连接到本地资源的新版本的超时错误。
一些上下文:
- VPC 网络被命名为 "portal" 并设置为 "Auto" 模式(为每个区域自动创建子网)
- Cloud VPN 在 "portal" 网络中设置为经典 VPN,在 us-east1 区域具有基于路由的路由,连接到我的远程本地 192.168.11.0/24 子网。
- 目标 192.168.11.0/24 的 VPC 网络上存在一条路由,以使用我设置为下一跃点(自动创建)的 Cloud VPN
- 通过上述,"portal" 网络上的 AppEngine 灵活部署可以连接到我的本地资源,就像 "portal" 上的任何其他 Compute Engine VM 一样网络
- 我在子网为 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 .
此配置应该有效吗?如果不是,我需要做哪些更改才能支持它?
您的问题(很可能)是由静态路由引起的。您是否有从您的 VPN 到 VPC 连接器的 return 流量的路由?查看为 VPN 定义的路由。
无服务器 VPC 连接器的目的是允许从 App Engine 标准连接到您的 VPC 网络,因为 App Engine 标准环境由 Google 托管和管理,而不是您的 VPC 网络的一部分.
可在此处找到更多详细信息:[https://cloud.google.com/vpc/docs/configure-serverless-vpc-access]。
话虽如此,您应该验证以下内容:
确保您已将新子网 (/28) 添加到本地本地路由,并将您的 VPN 网关作为下一跳。由于您使用的是基于路由的路由,因此与 VPN 上的流量选择器无关。
确保您的本地防火墙配置为接受新配置来回连接 (/28)。
虽然这可能不适用于您,但我只是想指出通过无服务器 VPC 连接器到 App Engine 标准环境的通信是不可能的,除非它是在同一个原始 tcp 上完成的源自同一个 App Engine 的连接(已建立 TCP)。
你的配置,按照你描述的,是肯定可以实现的。如前所述,您只需验证几项即可确保其正常工作。
我有一个项目设置,我可以在其中通过在 VPC 网络上启动的 AppEngine Flexible 实例连接到本地资源,该网络设置有与本地防火墙的 Cloud VPN 连接。
随着 us-east1 区域无服务器 VPC 的发布,我想将我的设置替换为使用 AppEngine Standard Gen2 实例而不是 Flexible 实例以节省成本。我为托管我的 AppEngine 应用程序的 region/network 设置了一个无服务器 VPC,并配置了我的 Cloud VPN 连接,相应地更新了我的 app.yaml,并推送了一个新版本。
我不断收到尝试使用无服务器 VPC 连接到本地资源的新版本的超时错误。
一些上下文:
- VPC 网络被命名为 "portal" 并设置为 "Auto" 模式(为每个区域自动创建子网)
- Cloud VPN 在 "portal" 网络中设置为经典 VPN,在 us-east1 区域具有基于路由的路由,连接到我的远程本地 192.168.11.0/24 子网。
- 目标 192.168.11.0/24 的 VPC 网络上存在一条路由,以使用我设置为下一跃点(自动创建)的 Cloud VPN
- 通过上述,"portal" 网络上的 AppEngine 灵活部署可以连接到我的本地资源,就像 "portal" 上的任何其他 Compute Engine VM 一样网络
- 我在子网为 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 .
此配置应该有效吗?如果不是,我需要做哪些更改才能支持它?
您的问题(很可能)是由静态路由引起的。您是否有从您的 VPN 到 VPC 连接器的 return 流量的路由?查看为 VPN 定义的路由。
无服务器 VPC 连接器的目的是允许从 App Engine 标准连接到您的 VPC 网络,因为 App Engine 标准环境由 Google 托管和管理,而不是您的 VPC 网络的一部分.
可在此处找到更多详细信息:[https://cloud.google.com/vpc/docs/configure-serverless-vpc-access]。
话虽如此,您应该验证以下内容:
确保您已将新子网 (/28) 添加到本地本地路由,并将您的 VPN 网关作为下一跳。由于您使用的是基于路由的路由,因此与 VPN 上的流量选择器无关。 确保您的本地防火墙配置为接受新配置来回连接 (/28)。
虽然这可能不适用于您,但我只是想指出通过无服务器 VPC 连接器到 App Engine 标准环境的通信是不可能的,除非它是在同一个原始 tcp 上完成的源自同一个 App Engine 的连接(已建立 TCP)。
你的配置,按照你描述的,是肯定可以实现的。如前所述,您只需验证几项即可确保其正常工作。