PostgreSql 本地连接到远程服务器 GCP

Posted

技术标签:

【中文标题】PostgreSql 本地连接到远程服务器 GCP【英文标题】:PostgreSql connecting locally to remote server GCP 【发布时间】:2021-04-16 15:55:53 【问题描述】:

我正在尝试使用 pgAdmin 或 sql developer 在本地连接到远程数据库。数据库在 GCP 上,但我不知道我错过了什么。 在截图上

它在 GCP 中配置为 Cloud SQL 实例,问题是最初它没有公共 IP 只有私有 IP。所以我按照以下说明暴露了一个:https://cloud.google.com/sql/docs/postgres/authorize-networks#authorized-networks

这是当前的样子(我正在使用 VM 实例中的 java 项目的 application.properties 中的用户名和密码来连接到 sqlDeveloper):

screen of the configuration of CloudSql

以及sql developer的配置:

sqlDeveloper setup

肯定有什么遗漏或者我做错了。

谁能帮我在本地连接到数据库。 我对 GCP 完全陌生。我习惯于在tomcat context.xml中配置文件

【问题讨论】:

您使用自己的VM(计算引擎)还是使用Cloud SQL? 它是云 SQL。我知道有一个私人地址。所以我尝试在 sql developer 中添加连接详细信息,但是没有用。 您能分享一下您的 Cloud SQL 实例的连接配置的屏幕截图吗?隐藏公共 IP 地址 我已将屏幕截图添加到主帖中。问题是我只有私有 IP,没有公共 IP 请分享更多细节。不要隐藏在图片中 【参考方案1】:

如果您没有公共 IP,则无法从 GCP 外部连接您的实例。所以你不能(轻松地)从你的本地环境中。

我wrote an article on this。看看,你就会明白问题出在哪里以及如何解决它(困难的方式!)

【讨论】:

所以没有办法拥有那个公共 ID 吗?如果有可能创建另一个数据库实例,它将是现有实例的副本(让我们说类似 dev env 的东西用于测试目的)但是这次新实例将具有公共 ID - 有这样的方法吗?跨度> 查看文档。可以有公网IP,需要配置一下 谢谢,我设法公开了公共 IP 但是它没有帮助连接到 sql 开发人员 可以,因为您需要授权网络。例如你的IP。您将能够找到这方面的教程。 不是在创建公网IP的时候做的网络授权

以上是关于PostgreSql 本地连接到远程服务器 GCP的主要内容,如果未能解决你的问题,请参考以下文章

将节点js连接到postgresql(谷歌云平台)

如何将 spring gcp PubSubTemplate 连接到本地实例?

如何连接到谷歌计算引擎上的远程 PostgreSQL 服务器?

无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM

地理服务器(VPS)连接到 PostgreSql(本地主机)

如何使用 Python 通过 SSL 连接到远程 PostgreSQL 数据库