Google 云 运行 的私人服务到服务通信
Private service to service communication for Google Cloud Run
我想让我的 Google 云 运行 服务通过非 HTTP and/or 私密地相互通信,而不必在我的代码中添加承载身份验证。
我知道 this documentation from Google 描述了如何在服务之间进行经过身份验证的访问,尽管它显然仅适用于 HTTP。
我想我对什么是必要的有一个大概的了解:
- 为我的项目创建自定义 VPC
- 启用Serverless VPC Connector
我不太清楚的是:
- 这些有必要吗?同一项目中的 Cloud 运行 服务是否可以相互查看?
- 在此之后服务如何相互寻址?
- 我是否能够使用更简单的约定俗成的 DNS 名称?例如,我是否可以让 Cloud 运行 中的每个服务在我的 VPC 上显示为单个第一级 DNS 名称,如
apione
和 apitwo
,而不是我随后拥有的更大的 DNS 名称通过我的部署提示?
- 如果没有,是否有任何类型的服务发现名称的机制?
- 如果我将我的托管云 SQL postgres 数据库放在这个网络上,我可以控制它的 DNS 名称吗?
最后,还有其他我可能想知道的问题吗?您可以假设我的用例非常简单,云 运行 上的两个或多个长期服务,进行非 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 积极致力于此。但没有真正构建。
我想让我的 Google 云 运行 服务通过非 HTTP and/or 私密地相互通信,而不必在我的代码中添加承载身份验证。
我知道 this documentation from Google 描述了如何在服务之间进行经过身份验证的访问,尽管它显然仅适用于 HTTP。
我想我对什么是必要的有一个大概的了解:
- 为我的项目创建自定义 VPC
- 启用Serverless VPC Connector
我不太清楚的是:
- 这些有必要吗?同一项目中的 Cloud 运行 服务是否可以相互查看?
- 在此之后服务如何相互寻址?
- 我是否能够使用更简单的约定俗成的 DNS 名称?例如,我是否可以让 Cloud 运行 中的每个服务在我的 VPC 上显示为单个第一级 DNS 名称,如
apione
和apitwo
,而不是我随后拥有的更大的 DNS 名称通过我的部署提示? - 如果没有,是否有任何类型的服务发现名称的机制?
- 我是否能够使用更简单的约定俗成的 DNS 名称?例如,我是否可以让 Cloud 运行 中的每个服务在我的 VPC 上显示为单个第一级 DNS 名称,如
- 如果我将我的托管云 SQL postgres 数据库放在这个网络上,我可以控制它的 DNS 名称吗?
最后,还有其他我可能想知道的问题吗?您可以假设我的用例非常简单,云 运行 上的两个或多个长期服务,进行非 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 积极致力于此。但没有真正构建。