我们正在尝试通过我们的一个 VPC 连接我们的 GAE 标准应用程序,该 VPC 用于连接到我们的 VPN 客户端。VPC(rsvpn)以客户端身份运行 openvpn,连接到我们的 OpenVPN 子网。它配置了 ip_forward,并设置为通过 tun0 转发所有发往 172.16.0.0/24 的入站数据包。VPC 网络全局路由配置为通过 rsvpn 路由 172.16.0.0/24。当我跳转到另一个 VPC 时,我可以按预期 ping 出 VPN 子网。但是,GAE 应用程序发往 172.16.0.0/24 的数据包不会通过 rsvpn 路由。
我们进行了一些挖掘,发现我们可能需要通过 gcloud beta 部署应用程序,利用 vpc_access_connector,所以我们也这样做了。vpc_access_connector 配置了子网 10.8.0.0/28,并且应用程序配置了适当的配置。重新部署应用程序,它仍然没有到达 rsvpn 服务器。
当我们查看应用程序的运行配置时,我们没有看到对 vpc_access_connector 的提及,但它在 app.yaml 中进行了明确的配置。
与 Google 支持人员讨论。他们确认我们的设置应该正确,并且应用程序应该使用我们的 vpc 路由表。他们目前正在调查此事。
不过,我想知道是否有人可以对此进行解释。Google 的文档并不出色,而且我发现它经常出错。我听到一些参考资料,它们可能暗示 vpc_access_connector 可能仅在 flex 环境中工作,但文档和 Google 支持人员表示它应该在标准环境中工作。
有谁成功过这个设置吗?
答案1
我们的解决方案最终是将计算网络用户权限添加到执行部署的配置文件中。不幸的是,这个权限错误并没有注销给我们,而是 Google 内部的。这似乎解决了我们在标准环境中遇到的所有问题。另外,请确保使用gcloud beta app deploy