如何在Google App引擎和计算引擎之间建立专用连接?

时间:2019-05-26 20:10:12

标签: google-app-engine google-cloud-platform google-compute-engine

我有一个网络应用程序/ Api,当前正在google app引擎资源上运行。由于API的计算需要大量计算,因此我将计算部分外包给了托管的自动缩放google计算引擎组,前端使用HTTP负载均衡器(以维护单个IP地址并平衡多个IP负载动态产生的引擎。

当前,我只是从应用程序引擎对负载均衡器IP地址进行HTTP调用。由于GAE和GCE位于同一区域,因此感觉效率很低(我知道应用程序引擎和计算引擎仍位于两个物理上分开的数据中心中)。由于我不断收到来自随机IP僵尸程序的电话,试图利用潜在的安全漏洞,因此这也构成了安全威胁。此外,我只是在应用程序引擎级别验证API令牌的有效性,因为我不想授予用户数据库对计算引擎的访问权限(出于安全原因),因此这意味着在应用程序引擎和计算引擎之间没有完成验证工作,以便后者接听它收到的所有电话。

是否可以在应用引擎和云引擎之间建立私有连接?

我的目标是不必开放GCE到整个互联网,请记住它仅接收来自一个IP地址/资源的呼叫

我尝试只将应用程序引擎IP地址列入白名单,但这不幸是一大堆地址,要动态检索和更改它们非常麻烦。应用程序引擎也无法使用计算引擎/ Google SQL服务器的专用IP。

我们非常欢迎其他创意!

1 个答案:

答案 0 :(得分:5)

看来Serverless VPC Access可能是一个潜在的解决方案。以下是概述:

  

无服务器VPC访问使您可以从App Engine连接   标准环境和云功能直接连接到您的VPC网络。   此连接使您的App Engine标准成为可能   环境应用程序和云功能来访问VPC中的资源   通过内部(专用)IP地址进行网络连接。使用内部IP   地址可改善您Google之间的通信延迟   Cloud Platform服务,并避免将内部资源暴露给   公共互联网。

     

无服务器VPC访问仅允许您的应用或功能发送   对您的VPC网络中的资源的请求,并收到对   这些要求。在VM的相反方向上进行通信   向应用或功能发起请求,要求您使用   应用或功能的公开地址。