无法从本地计算机连接到 AWS RDS PostgreSQL 实例

tay*_*nth 0 python postgresql psycopg2 amazon-web-services

我已创建启用公共访问的 AWS RDS PostgreSQL 实例,但无法连接到它。这是我的代码:

try:
   conn = psycopg2.connect(dbname="elevate_permission",
                            user="postgres",
                            password="password123",
                            host="database-1.ce2ilrafe9ry.ap-southeast-1.rds.amazonaws.com")
   print("Connected to DB")
except psycopg2.OperationalError as e:
   logger.error(e)
   sys.exit()
Run Code Online (Sandbox Code Playgroud)

端点和端口 数据库名称、用户名和密码

编辑 我已将上述异常添加到上面的代码中,这是我收到的错误消息:

操作超时。服务器是否在该主机上运行并接受 TCP/IP 连接?

Joh*_*ein 5

显示您的安全组的屏幕截图表明您正在使用名为 的安全组default。它不太可能允许端口 5432(Postgres 使用)上的入站连接。

我推荐以下内容:

  • 在 Amazon EC2 管理控制台中创建新的安全组
  • 在端口 5432 上添加来自您的 IP 地址的入站规则(或者0.0.0.0/0,这是整个 Internet,但安全性要低得多)
  • 在 Amazon RDS 管理控制台中,修改数据库并将安全组更改为这个新安全组(并删除default安全组)