AWS RDS for PostgreSQL数小时后无法连接

AWS RDS for PostgreSQL数小时后无法连接,postgresql,amazon-web-services,Postgresql,Amazon Web Services,我用PostgreSQL创建了几个RDS实例,但遇到了相同的问题: 我可以在创建实例后立即连接到所有实例 几个小时后(我停止工作,关掉笔记本电脑),我再也无法连接到它们中的任何一个 我对连接使用DBeaver,错误显示为“连接尝试超时” 我附上了该公司的信息 . 希望有人能帮我解决这个问题。提前谢谢。最后,我找到了问题的答案。对于“连接超时”错误,原因之一可能来自隐私设置。虽然我在创建RDS实例时将其设置为public,但该实例附加了一个非public的VPC安全组。 我们可以将RDS实例连

我用PostgreSQL创建了几个RDS实例,但遇到了相同的问题:

  • 我可以在创建实例后立即连接到所有实例
  • 几个小时后(我停止工作,关掉笔记本电脑),我再也无法连接到它们中的任何一个
  • 我对连接使用DBeaver,错误显示为“连接尝试超时”
我附上了该公司的信息
. 希望有人能帮我解决这个问题。提前谢谢。

最后,我找到了问题的答案。对于“连接超时”错误,原因之一可能来自隐私设置。虽然我在创建RDS实例时将其设置为public,但该实例附加了一个非public的VPC安全组。 我们可以将RDS实例连接到一个公共VPC(我认为这不是一个好的设置,只适合像我这样的AWS初学者),如下所示: -从服务中,选择EC2,在左侧面板中选择安全组。 -单击“创建安全组”按钮。 -在对话框中,输入组的名称,例如“postgres public access” -在对话框中,单击“添加规则”按钮。 -在“类型”列中,选择“PostgreSQL”或其他类型的RDS实例。 -在“源”列中,输入“0.0.0.0/0”。 -点击“保存”按钮。 -从服务中选择RDS,选择RDS实例,点击“修改”按钮。 -在“网络与安全”、“安全组”中,选择您刚刚创建的VPC安全组,在我的例子中,它是“postgres public access”。 -单击“继续”按钮。
现在,您可以随时随地连接您的数据库。

我只是按照指南:

完成典型的事情:

  • 确保数据库是公共的!(检查AWS网站控制台)

  • 检查您是否打开了软件的防火墙端口以及您尝试连接的端口

  • 在RDS中创建dB时,将使用规则All、All自动创建安全组:

  • 您可以为TCP端口5432添加一条规则,就像我上面提到的那样

  • 检查用户名/密码-有时会缓存不正确的用户名/密码

  • 尝试ping数据库以查看是否存在internet连接问题


我必须向专有网络添加/编辑一条规则,以允许所有来源的连接

步骤:

  • 转到数据库>连接和安全>单击专有网络(VPC-
  • 在安全>安全组>打开sg-[something]下,为哪个VPC ID与DB VPC匹配

  • 入站规则>编辑规则>将源更改为任意位置


  • 因此,即使在创建数据库并选择“允许公共访问”时,它似乎也只包括来自VPC的流量。通过执行上述步骤,您可以允许访问所有源。

    属性下似乎有一个选项“在查询执行时连接”。尝试勾选该选项。我还看到一个自动刷新选项(时钟符号),首先尝试使用较大的值