18

我们正在谷歌云中构建一个应用程序。我们使用 App Engine 作为前端,使用 Compute Engine 作为后端。在这些 Compute Engine 实例上,我正在运行一个接受某些“命令”消息的 TCP 服务器。Compute Engine 实例还通过防火墙和负载平衡器连接到 Internet,以处理传入的 https 流量。我想将 TCP 服务器绑定到本地 IP 地址,并只允许 App Engine 实例(它们在同一个项目中)通过套接字 api连接到 TCP“命令”端口。

目前,我们将传入连接限制为仅限 Google Ip

Compute Engine 文档如下:

每个实例都是单个网络的成员。网络执行与路由器在家庭网络中相同的功能:它描述网络范围和网关 IP 地址,处理实例之间的通信,并充当网络外实例和调用者之间的网关。网络仅限于单个项目;它不能跨越项目。即使在同一个项目中,不同网络中的实例之间的任何通信都必须通过外部 IP 地址进行。在 API 中,网络由 Network 对象表示。

是否有可能建立一个安全的通信设置?也许使用 App Engine 后端实例?

4

4 回答 4

7

借助 App Engine Flexible,您可以设置 instance_tags 并使用它来创建具有适当标记规则的防火墙规则。有关更多信息,请参阅https://cloud.google.com/appengine/docs/flexible/custom-runtimes/configuring-your-app-with-app-yaml

于 2016-04-14T17:37:23.603 回答
5

目前没有办法在 GCE 和 GAE 之间建立专用网络。限制谷歌的 IP 范围并不安全,因为 GAE 或 GCE 上的任何人都可以连接到您的服务器。因此,我建议您在 TCP 服务器上对传入连接进行身份验证,以验证连接是否来自您的 GAE 实例。

于 2013-10-08T01:48:26.817 回答
4

截至目前 2016 年 google cloud 已经推出了 google cloud 柔性环境appengine/docs/flexible/。所以是的,现在是可能的,因为现在应用引擎和计算引擎都存在于同一个网络中,因此使用应用引擎,您可以使用它们的内部 IP 访问计算引擎,如果您只删除计算引擎的所有外部防火墙规则,请记住想要允许从应用引擎访问。

于 2017-02-05T12:35:24.080 回答
1

2019 年 4 月 9 日起,您可以使用无服务器 VPC 连接器来允许您的 App Engine 应用程序连接到 Google Cloud Platform 上的其他服务。我链接到 Python 标准环境文档,但这适用于任一运行时环境中 App Engine 上的任何语言。

于 2019-05-27T04:11:32.300 回答