【发布时间】:2021-07-18 16:54:50
【问题描述】:
根据我目前的理解,当我在其中一个修订版中启用与 Cloud SQL 实例的服务连接时,路径 /cloudsql/[instance name]/.s.PGSQL.5432 将被填充。这是一个 UNIX 套接字连接。
很遗憾,我使用的第 3 方应用程序不支持 UNIX 套接字连接,因此我需要通过 TCP 连接。
Google Cloud SQL 代理是否还配置了我可以通过 localhost:5432 或其他等效方式连接到 Cloud SQL 的任何方式?我正在阅读的一些文档表明,我必须使用私有 IP 进行详细的网络配置,以便为我的 Cloud Run 修订版启用基于 TCP 的 Cloud SQL,but I feel like the Cloud Proxy is already capable of giving me a TCP connection 而不是 UNIX 套接字。
什么是正确和最小的前进方式,显然假设我没有能力修改我正在运行的代码。
I've also cross posted this question to the Google Cloud SQL Proxy repo.
【问题讨论】:
-
AFAIK 您的 PostgreSQL 客户端软件可以直接与 Cloud SQL 公共 IP 白名单地址通信并绕过 Cloud SQL Auth 代理。安全风险是 SQL 实例将向 Internet 开放。 Cloud Run 没有静态 IP 地址。您可以使用 Cloud NAT 配置通过您的 VPC 网络的 Cloud Run VPC 出口,以提供用于白名单的固定 IP 地址。另一种方法是使用无服务器 VPC 访问连接器连接到 Cloud SQL 私有 IP。 cloud.google.com/sql/docs/postgres/connect-run#private-ip
-
是的,所以我知道这些说明,但我发现它们在究竟什么是必要的和正在做什么方面非常混乱。有很多部分似乎需要设置,但没有真正解释每个部分在做什么或整体拓扑是什么。有没有比他们的文档解释得更好的地方?
-
最简单也可能是最好的解决方案是改进客户端以支持 Cloud Run。否则,您将需要花时间学习 Google Cloud 更高级的配置功能。有时,没有捷径可走。
标签: google-cloud-platform google-cloud-sql google-cloud-run