Google Cloud VM 添加 pgAdmin 出现错误无法连接到服务器:超时已过期

Google Cloud VM 添加 pgAdmin 出现错误无法连接到服务器:超时已过期

我正在将我的 pgAdmin 与 Google Cloud 的 VM 连接起来。

首先我创建虚拟机实例,然后我使用 pgAdmin 主机名创建虚拟机实例的公共 IP 地址,当我尝试保存时出现错误无法连接到服务器:超时已到期

答案1

查看社区教程如何在 Compute Engine 上设置 PostgreSQL

本教程将介绍如何在几分钟内设置 Google Cloud Platform (GCP) 上的 PostgreSQL。按照本教程在 Compute Engine 上的 Ubuntu 虚拟机实例上配置 PostgreSQL。

如果你不想安装和管理自己的 PostgreSQL 数据库, 谷歌云 SQL提供托管的 PostgreSQL。

您还可以使用云启动器只需单击几下即可在 Compute Engine 上设置 PostgreSQL。

您应该遵循以下步骤:

  1. 创建虚拟机实例。
  2. 安装 PostgreSQL 并使用 PSQL 完成设置。
  3. 配置 PostgreSQL 远程访问:3.1. 编辑pg_hba.conf
    • 导航ip4.me获取本地计算机的 IPv4 地址;
    • 向下滚动到文件底部并添加以下行:
      # IPv4 remote connections for the tutorial:
      host    all             all           [YOUR_IPV4_ADDRESS]/32         md5
      
    • 将 [YOUR_IPV4_ADDRESS] 替换为您本地计算机的地址;
    • 保存文件并退出编辑器。3.2.编辑postgresql.conf
    • 向下滚动到以 开头的行#listen_addresses = 'localhost'
    • 删除#字符以取消注释该行;
    • 替换localhost*('*' 设置使 Postgres 能够监听所有 IP 地址);
    • 保存文件并退出编辑器;
    • 重新启动数据库服务。
  4. 设置网络标签 postgresql-server到您的虚拟机实例:
    gcloud compute instances add-tags instance-1 --zone=europe-west3-a -- tags=postgresql-server
    
  5. 创建新的防火墙规则允许传入连接:
    gcloud compute firewall-rules create postgresql-server-rule-in --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:5432 --target-tags=postgresql-server
    
  6. 使用 pgAdmin 连接:
  • 在主机字段中,输入您的虚拟机实例的外部 IP 地址;
  • 在端口字段中输入 5432。

另外,您可以按照文档18.11. 使用 SSH 隧道建立安全的 TCP/IP 连接

可以使用 SSH 加密客户端和 PostgreSQL 服务器之间的网络连接。如果操作正确,这将提供足够安全的网络连接,即使对于不支持 SSL 的客户端也是如此。

相关内容