1

我想避免使用应用程序层来确定给定的网络请求是否来自我的其他谷歌应用引擎应用程序(来自另一个项目)。

本质上,我的众多服务中只有一项需要公开访问。因此,我正在考虑将可公开访问的服务放在它自己对公众开放的单独项目中,并将其余的放在另一个项目中,该项目将拒绝所有流量,但来自该其他项目的流量除外。考虑到我没有使用 flex 环境,有可能吗?

4

1 回答 1

0

不幸的是,不可能拒绝来自另一个项目中另一个 App Engine 实例中的一个 App Engine 实例的所有流量。

这是因为 App Engine 在“Google 负载平衡器的动态公共 IP 地址”上运行</a>。如果这不是问题,您可以使用无服务器 VPC,因为它为您的 App Engine 标准环境提供了通过内部 IP 地址访问您的 VPC 网络中的资源。

在您的情况下,我可以建议您使用 Compute Engine 实例来执行所有私有任务,并让 App Engine 标准应用程序面向公众。然后,您将设置无服务器 VPC,以便两个项目相互通信。此方法将起作用,因为您的 Compute Engine 将有一个私有 IP 地址供您的应用参考。此方法还可以减少拥有多个项目的需要,因为您可以将 App Engine 和 Compute Engine 实例放在同一个项目上。

于 2019-09-08T23:11:06.757 回答