我在Google云平台(云SQL)上有一个postgresql数据库。我目前正在通过安装在笔记本电脑上的pgadmin管理此数据库。我已将笔记本电脑的IP地址添加到cloud sql设置页面的白名单中。全部都可以。
问题是:当我去其他地方并连接到另一个网络时,IP地址发生了变化,并且无法从笔记本电脑连接到PostgreSQL数据库(通过pgadmin)。
有人知道一个(安全的)解决方案,涉及代理服务器(或其他),即使我不在白名单网络上,也可以从我的笔记本电脑(只有我的笔记本电脑)连接到我的postgresql数据库(IP地址)?也许我可以设置一个VM实例并安装代理服务器并使用它?但是我不知道从哪里开始(或搜索)。
答案 0 :(得分:2)
您有许多选项可以从外部应用程序连接到Cloud SQL实例,例如具有SSL的公共IP地址,不具有SSL的公共IP地址,Cloud SQL代理等。您可以看到所有的here。
在所有连接选项之间Cloud SQL Proxy之间,它基本上提供了对实例的安全访问,而无需使用授权网络或您自己配置SSL。
您只需要遵循here中列出的步骤,就可以使用代理连接Cloud SQL实例。
在控制台上启用Cloud SQL Admin API。
在本地计算机(Linux)上安装代理客户端:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
chmod +x cloud_sql_proxy
确定如何authenticate代理。您可以使用服务帐户或让Cloud SDK进行身份验证。
但是,如果您的身份验证方法要求,请创建一个service account。
Determine如何为代理指定实例。实例规范的选择取决于您的操作系统和环境
Start the proxy使用TCP套接字或Unix套接字。
请注意,在撰写本文时,Cloud SQL代理does not在Windows上支持Unix套接字。