AWS RDS Aurora - 如何使用 PgAdmin 进行连接?



昨天AWS为PostgreSQL推出了Aurora无服务器,但它似乎没有与其他RDS数据库相同的配置选项,例如,我无法将其设置为面向公众,它迫使我拥有一个VPC。

现在,我不知道如何将这些 VPC 的东西应用于 PgAdmin,我尝试将安全组的入站设置为所有端口和 ip,但它仍然无法连接(没有服务器响应)。

如何使用 PgAdmin 连接到 VPC 内的 RDS 数据库? 打开安全组不起作用。

我意识到这个问题很老了,但是当我解决这个问题时,我一直回到它。

此解决方案类似于@genkilabs解决方案,但更简单。

步骤:

  1. 在与数据库相同的 VPC 中启动 ec2 微实例。 您将通过隧道穿过它。

  2. 将 ec2 的安全组添加到数据库安全组的入站规则中。

  3. SSH 到 EC2 实例中,并使用以下命令安装 PSQL(和后gress...):

sudo amazon-linux-extras install postgresql10
  1. 验证是否可以使用 psql 连接到数据库:
psql -h {server} -p 5432 -U {database username} -d {database name} -p
  1. 在PGAdmin中创建新的服务器连接
  • 像往常一样输入数据库主机、用户名和密码。
  • 转到 SSH 隧道选项卡
    • 打开 SSH 隧道
    • 输入隧道主机的 EC2 主机名
    • 输入您的 SSH 用户名
    • 选择身份文件并找到 EC2 实例的 .pem 或 .cer 文件。

保存并完成。 您现在应该能够从本地 PGAdmin 连接到无服务器 Aurora 数据库。

如果您在从 ec2 连接到数据库时遇到问题,本指南可能会有所帮助。 相同的步骤适用于从 ec2 和从 cloud9 进行连接。

编辑 9 月 '22:使用无服务器 V2,您现在可以在初始创建期间选择"公有访问",并直接连接(前提是您的 VPC 和安全组允许)。但是,仍然建议用于生产/"企业"使用,仅通过"堡垒"或"跳转盒"进行连接。


官方上,你不能... 根据文档:

您无法为 Aurora 无服务器数据库集群提供公有 IP 地址。您只能从基于 Amazon VPC 服务的虚拟私有云 (VPC) 中访问 Aurora 无服务器数据库集群。

但是,官方不鼓励从非亚马逊产品连接到无服务器数据库,这并非不可能。

到目前为止,我找到的最佳解决方案是在同一 VPC 内创建堡垒盒的自动扩展集群。然后使用它们通过隧道。这个策略的重要部分是它公开了一个标准的postgre格式URL,因此它可以与pgAdmin,Navicat,ActiveRecord或任何其他使用典型连接URL的ORM一起使用。

。不好的部分是(到目前为止)它似乎在连接上强制执行 30 秒超时。因此,您最好快速完成所有交易。

如果有人能做得更好,我也想听听。

最新更新