Google 云 运行 的私人服务到服务通信

Private service to service communication for Google Cloud Run

我想让我的 Google 云 运行 服务通过非 HTTP and/or 私密地相互通信,而不必在我的代码中添加承载身份验证。

我知道 this documentation from Google 描述了如何在服务之间进行经过身份验证的访问,尽管它显然仅适用于 HTTP。

我想我对什么是必要的有一个大概的了解:

  1. 为我的项目创建自定义 VPC
  2. 启用Serverless VPC Connector

我不太清楚的是:

最后,还有其他我可能想知道的问题吗?您可以假设我的用例非常简单,云 运行 上的两个或多个长期服务,进行非 HTTP TCP/UDP 通信。


我还发现了一个 potentially related Google Cloud Run feature request 值得投票的点,如果这目前不可能的话。

云 运行 服务只能通过 HTTP 请求访问。您不能使用其他网络协议(例如 SSH 登录实例,或 TCP/UDP 通信)。

但是,云 运行 可以启动此类与外部服务的连接(例如部署在您的 VPC 中的 Compute Engine 实例,这要归功于无服务器 VPC 连接器)。

无服务器 VPC 连接器允许您在 Google 云托管环境(其中存在云 运行(和云 Functions/App 引擎)实例)和 VPC 之间架起一座桥梁您拥有自己的实例(Compute Engine、GKE 节点池...)的项目

因此,如果您有要求,您可以拥有通过 TCP 连接到达 GKE 上的 Kubernetes pods 的云 运行 服务。


关于服务发现,目前还不是这样,但 Google 和 Ahmet(Google Cloud Dev Advocate on Cloud 运行)has released recently a tool for that 积极致力于此。但没有真正构建。