查看 GCE 实例,您可以看到 IP 地址有两种主要类型(内部一种和外部一种)。
现在,如果我有一个 Google App Engine 应用程序(flex env)和一个在 Google Compute Engine 实例中运行的后端。两个应用程序都在同一个 GCP 项目中运行。应用引擎应用程序是否可以使用其内部 IP 地址请求 GCE 后端应用程序?我猜想,在同一个项目中运行的应用程序在同一个 VPC 中运行。
由于我使用 GAE flex env,我可以 ssh GAE 实例,并通过 curl 请求到 GCE 实例的内部 IP 地址,我得到了响应,但是当我尝试在应用程序中请求 GCE 后端时(axios例如请求)它不起作用,我没有得到任何数据,我可以在 GCE 实例中看到请求没有转发到服务器。
知道如何使用 GCE 实例的内部 IP 地址与在同一项目中运行的 GAE 应用程序进行通信吗?
好吧,只是为了回答我自己的问题,经过多次尝试和搜索,与内部服务通信的最佳方式是创建一个内部负载均衡器(tcp),因为它没有意义(至少对于我的用例)连接到一个实例,毕竟我希望我的应用程序可以扩展。所以我做了什么,我在内部实例之前创建了一个 TCP 负载均衡器(无论如何它们都作为一个实例组运行),然后我获得了一个静态内部 ip 并将它分配给内部负载均衡器,在 GAE 中使用了该静态 ip 和它工作。
我根据实例组模板确保防火墙规则是正确的。最终一切都奏效了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句