我将我的 RDS (psql) 数据库设置为不可公开访问,现在我无法使用 pgAdmin 连接到我的数据库。我现在如何连接到它?
Posted
技术标签:
【中文标题】我将我的 RDS (psql) 数据库设置为不可公开访问,现在我无法使用 pgAdmin 连接到我的数据库。我现在如何连接到它?【英文标题】:I set my RDS (psql) db to NOT publicly accessible and now I cannot connect to my db using pgAdmin. How can I connect to it now? 【发布时间】:2017-06-28 10:19:22 【问题描述】:我正在使用弹性 beanstalk,我的 REST 应用程序在那里运行。这个 REST API 应用程序可以访问我的 RDS postgres 数据库,而我的 RDS 只能在我的 VPC 中访问。我已经更新了我的 VPC 设置,所以我的 REST API 似乎确实可以工作,因为我有一些要插入的端点,而且我还可以请求提取最新数据等。
但是……我不能确定!
我使用 PgAdmin 连接到我的数据库,但是由于将 RDS 实例的可公开访问设置更改为 NO,我无法再从我的 macbook 连接到它。有没有办法我仍然可以使用 PgAdmin 或 psql 连接到该数据库,也许是使用 SSH 或其他方式?
从我的阅读来看,我似乎无法直接通过 SSH 连接到 RDS,所以我不确定如何继续。谢谢!
【问题讨论】:
REST 应用程序正在 EC2 实例中运行。对吗? 【参考方案1】:根据您的问题,我可以理解您需要从亚马逊 VPC 外部的公共访问您的数据库
只需修改数据库实例
打开 rds 仪表板选择您要修改的数据库实例
顶部实例操作>>修改>>将公开可用选项更改为是。 图片参考:
将您的 Db 安全组端口更改为任何位置或您的 Ip。(至少您只能访问)
现在您可以从 MacBook 访问数据库
【讨论】:
好吧,我让它公开访问 NO 的重点是它只能用于我的 VPC 应用程序。 如果有办法通过 SSH 连接到我的 VPC,我该如何为我的 RDS 实例执行此操作? @scarywolfman 您无法通过 ssh 访问 RDS,因为您无法访问 RDS 操作系统级别,但如果您愿意,您可以将 ssh 访问到任何 EC2 实例。从您的 EC2 中,您可以安装 PostgreSQL-client 或 pg admin 并连接到 DB,您的 DB 仍将在您的 vpc 内部,没有公共访问权限 谢谢!我想既然我可以连接到我的 EC2,我会弄清楚如何安装 psql 客户端。我无法使用apt
,所以我必须弄清楚我的操作系统和一切。除非你知道怎么做。我刚刚使用 eb-cli
使用 express 预设部署了我的 express 应用程序【参考方案2】:
为您的数据库实例选择“可公开访问”选项“是”将为您的实例提供一个公共 IP 地址。
您的 RDS 在私有子网中吗?
如果是,我以前也遇到过这个问题。在我的情况下,我所做的是设置一个 open*** 服务器并在我的 Mac 上安装客户端。但该解决方案的驱动力不仅在于私有子网中的 RDS,还有其他服务,因此我们可以通过 *** 连接访问它们。
关于Open***,我专门为它发了一篇博文:here
【讨论】:
以上是关于我将我的 RDS (psql) 数据库设置为不可公开访问,现在我无法使用 pgAdmin 连接到我的数据库。我现在如何连接到它?的主要内容,如果未能解决你的问题,请参考以下文章