用于连接到云 sql 实例 (GCP) 的代理(?)服务器

proxy(?) server for connecting to cloud sql instance (GCP)

我在google云平台(云SQL)上有一个postgresql数据库。我目前正在通过安装在笔记本电脑上的 pgadmin 管理这个数据库。我已将笔记本电脑的 IP 地址添加到云端 sql 设置页面的白名单中。这一切都有效。

问题是:当我去别的地方连接到不同的网络时,IP 地址发生变化,我无法从笔记本电脑连接到 postgresql 数据库(通过 pgadmin)。

有没有人知道一个(安全的)解决方案,涉及代理服务器(或其他东西),从我的笔记本电脑(而且只有我的笔记本电脑)连接到我的 postgresql 数据库,即使我我不在白名单网络(IP 地址)上?也许我可以设置一个 VM 实例并安装一个代理服务器并使用它?但我不知道从哪里开始(或搜索)。

您有很多选项可以从外部应用程序连接到云 SQL 实例,例如 Public 带 SSL 的 IP 地址、Public 不带 SSL 的 IP 地址、云 SQL proxy 等都可以看到here.

在所有连接选项之间存在 Cloud SQL Proxy,它基本上提供了对您的实例的安全访问,而无需您授权网络或配置 SSL。

您只需按照列出的步骤进行操作 here,您就可以使用代理连接您的 Cloud SQL 实例。

  1. 在您的主机上启用 Cloud SQL Admin API

  2. 在本地机器上安装代理客户端 (Linux):

    • wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy

    • chmod +x cloud_sql_proxy

  3. 确定您将如何 authenticate 代理。您可以使用服务帐户或让 Cloud SDK 负责身份验证。

  4. 但是,如果您的身份验证方法需要,请创建一个 service account

  5. Determine 您将如何为代理指定您的实例。您的实例规格选项取决于您的操作系统和环境

  6. Start the proxy 使用 TCP 套接字或 Unix 套接字。

Take note that as of this writing, Cloud SQL Proxy does not support Unix sockets on Windows.

  1. 更新您的应用程序以使用代理连接到云 SQL。