如何使用私有 IP 在两个项目之间共享 Google Cloud SQL 实例?

How to share a Google Cloud SQL instance between two projects using private IP?

我在 GCP 中有两个项目,都是 运行 App Engine Flexible environments with Node.js。其中一个项目附加了一个 Cloud SQL 实例,运行 个私有 IP。我希望其他项目中的 App Engine 也能够使用此 Cloud SQL 实例 (PostgreSQL),但它没有建立连接。

根据我的理解,Cloud SQL 实例位于其自己的 VPC 中,该 VPC 通过自动创建的对等连接和路由连接到创建它的项目。但是似乎没有办法为另一个 VPC 创建这些路由和对等点以便连接它,对吗?

或者是否有另一种可能将两个项目连接到同一个云 SQL?

根据 the docs 网络要求 的第一点:

You can only access a Cloud SQL instance on its private IP addresses from a single VPC network.

这意味着您只能从具有云 SQL 网络对等互连的项目进行连接。

这来自the VPC peering docs的第6个限制:

Only directly peered networks can communicate. Transitive peering is not supported. In other words, if VPC network N1 is peered with N2 and N3, but N2 and N3 are not directly connected, VPC network N2 cannot communicate with VPC network N3 over VPC Network Peering.

关于网络要求:“您只能从单个 VPC 网络访问其私有 IP 地址上的云 SQL 实例。”

有关更多信息,请参阅有关私有 ip 的文档:https://cloud.google.com/sql/docs/mysql/private-ip#network_requirements

您只能从具有云 SQL 网络对等互连的项目进行连接: “只有直接对等网络可以通信。不支持传递对等。换句话说,如果 VPC 网络 N1 与 N2 和 N3 对等,但 N2 和 N3 没有直接连接,则 VPC 网络 N2 无法通过 VPC 网络与 VPC 网络 N3 通信对等。

有关详细信息,请参阅有关 VPC 对等的文档:https://cloud.google.com/vpc/docs/vpc-peering#restrictions