配置安全组以通过客户端 psycopg2 连接到 postgres RDS
Posted
技术标签:
【中文标题】配置安全组以通过客户端 psycopg2 连接到 postgres RDS【英文标题】:Configure security groups to connect to postgres RDS via client psycopg2 【发布时间】:2016-08-21 06:43:42 【问题描述】:我正在尝试通过 psycopg2 连接到 AWS postgresql RDS。当我在安全组上设置入站规则以通过端口 5432 上的 postgresql 接受所有流量时,我能够连接。
但是,当我将此端口上的 postgresql 入站规则限制为仅接受来自我的客户端 IP 的流量时,我无法连接并且超时。我得到错误:
psycopg2.OperationalError:无法连接到服务器:连接 超时服务器是否在主机“[主机名]”([某些 IP address]) 并接受端口 5432 上的 TCP/IP 连接?
感谢您的任何建议。我尝试在我的安全组上为我的 RDS 实例配置入站规则以接受我的客户端 IP、我的 ec2 实例私有 IP 以及上面错误中给出的 IP 地址,但没有任何乐趣。只接受所有流量有效。关于我做错了什么有什么建议吗?
谢谢!
【问题讨论】:
您在安全组中使用了错误的地址。当您可以连接时查看日志并查看其内容 【参考方案1】:通过此链接识别您的 IP:https://www.whatismyip.com/。在安全组中,启用此 IP 的入站规则,后跟 /32。
例如,如果您在上述链接中的 IP 为 192.168.0.25,则在安全组中,添加 192.168.0.25/32 作为源。
【讨论】:
【参考方案2】:在我的例子中,我发现答案是配置一个弹性 IP,这样它就有一个可以被我的 RDS 安全组接受的常数值。也许其他海报认为我这样做是理所当然的;我不知道这是解决方案的一部分。谢谢大家的建议。
【讨论】:
以上是关于配置安全组以通过客户端 psycopg2 连接到 postgres RDS的主要内容,如果未能解决你的问题,请参考以下文章
使用 JDBC 瘦客户端通过 SSL 连接到 Ignite 集群
Docker- django 在连接到 postgres 时抛出错误:psycopg2.OperationalError:无法连接到服务器:连接被拒绝