无法从 EC2 连接到 PostgreSQL RDS 但从 localhost 可以正常工作
Posted
技术标签:
【中文标题】无法从 EC2 连接到 PostgreSQL RDS 但从 localhost 可以正常工作【英文标题】:Can't Connect to PostgreSQL RDS from EC2 But works fine from localhost 【发布时间】:2017-12-20 00:25:24 【问题描述】:在过去的 3 个小时里,我一直在尝试解决这个问题。我有一个运行 tomcat 应用程序的 ec2 实例。我使用 aws 插件中的“部署到 Elastic Beanstalk 选项”从 Eclipse 启动它。
我有一个 postgreSQL RDS 实例。我可以从本地主机连接到数据库,但我的 ec2 实例无法连接。我已经在 rds 安全组中修复了我的入站规则,以允许各种流量进入。仍然没有运气。请帮忙!
这是我的 rds 安全组在 aws 控制台上的屏幕
编辑:
这是我在 ec2 实例上的 vpc 和子网信息:
在我的 rds 实例中:
我在 ec2 上的安全组入站规则:
【问题讨论】:
他们在同一个 VPC 中吗?你能显示子网和路由表信息吗? @RaGe 我很确定他们是。我已将图片添加到问题中 EC2 的安全组呢?可能你在这方面有限制。 您是否使用公网 IP 从本地连接?您的 EC2 是否有权访问 Internet 网关以访问公共 IP? @RaGe 你能详细说明一下吗?什么是互联网网关?我只是在本地使用我的笔记本电脑。问题是我可以从除 ec2 实例之外的任何地方进行连接。 【参考方案1】:当您使用安全组创建 RDS 时, 安全组入站规则仅是您的本地 IP。
所以,你应该更新 'rds-launch-wizard-4'
【讨论】:
【参考方案2】:尝试为您的安全组的特定端口设置规则: 类型:自定义 TCP 规则 协议:TCP 端口范围:5432 来源:0.0.0.0/0
enter image description here
【讨论】:
以上是关于无法从 EC2 连接到 PostgreSQL RDS 但从 localhost 可以正常工作的主要内容,如果未能解决你的问题,请参考以下文章
AWS EC2:从 tomcat 7 连接到 PostgreSQL