如何在谷歌应用引擎和计算引擎之间建立私有连接?
Posted
技术标签:
【中文标题】如何在谷歌应用引擎和计算引擎之间建立私有连接?【英文标题】:How to establish a private connection between Google app engine and compute engine? 【发布时间】:2019-10-12 11:53:15 【问题描述】:我有一个网络应用程序/Api,它目前正在谷歌应用程序引擎资源上运行。由于 API 的计算是非常密集的计算,我已将计算部分外包给一个托管的自动缩放谷歌计算引擎组,前端有一个 HTTP 负载平衡器(以维护单个 IP 地址并平衡多个动态生成的引擎)。
目前,我只是从应用引擎对负载平衡器 IP 地址进行 HTTP 调用。由于 GAE 和 GCE 位于同一区域,因此感觉非常低效(我知道应用引擎和计算引擎仍然位于两个物理上分离的数据中心)。这也构成了安全威胁,因为我经常收到来自随机 IP 机器人的电话,试图利用潜在的安全漏洞。此外,我只是在应用引擎级别验证 API 令牌有效性,因为我不想让用户数据库访问计算引擎(安全原因),所以这意味着应用引擎和计算引擎之间没有进行验证,以便后者回答它收到的所有呼叫。
有没有办法在应用引擎和云引擎之间建立私有连接?
我的目标是不必向整个互联网开放 GCE,记住它只接收来自一个 IP 地址/资源的呼叫
我曾尝试仅将应用引擎 IP 地址列入白名单,但不幸的是,这是一大块地址,检索和动态更改非常麻烦。应用引擎也不能使用计算引擎/谷歌 SQL 服务器的私有 IP。
非常欢迎其他创意!
【问题讨论】:
以下是否为故事添加了任何内容...***.com/questions/19155795/… 另一个相关讨论:***.com/q/19155795/320399 【参考方案1】:看来Serverless VPC Access 可能是一个潜在的解决方案。以下内容来自概述:
无服务器 VPC 访问使您能够从 App Engine 进行连接 标准环境和 Cloud Functions 直接连接到您的 VPC 网络。 这种连接使您的 App Engine 标准成为可能 环境应用程序和 Cloud Functions 以访问您的 VPC 中的资源 通过内部(私有)IP 地址的网络。使用内部 IP 地址改善了您的 Google 之间的通信延迟 云平台服务,避免将内部资源暴露给 公共互联网。
无服务器 VPC 访问仅允许您的应用或函数发送 对您的 VPC 网络中的资源的请求并接收对 那些请求。在相反方向的通信,其中一个虚拟机 向应用或功能发起请求,需要您使用 应用或功能的公共地址。
【讨论】:
谢谢!帮了我很多忙!以上是关于如何在谷歌应用引擎和计算引擎之间建立私有连接?的主要内容,如果未能解决你的问题,请参考以下文章