我对AWS配置感到难过。我的目标是创建一个可从网络内外访问的数据库。
这就是我所拥有的。 RDS实例运行postgresql。 VPC内部的连接正常工作。
端点设置为可公开访问 - 从外部访问时,实际上已解决。但是,连接挂起,表示某人阻止了流量。
安全组是好的:
入站:从0.0.0.0/0开始的端口5432
出站:全部来自0.0.0.0/0
子网。我认为这是错误的地方,对吧? 起初我在子网组中有两个私有子网和两个公共子网。为了简化,我删除了私有的,但没有改变结果。
所以我们有两个公共子网:
两者都具有相同的路由表和Internet网关
据我所知,一切正常......那么谁阻止我的数据库连接?
答案 0 :(得分:1)
要检查两件事:
确保RDS实例设置了publicly accessible属性,以便为其分配公共地址
此外,根据AWS RDS文档,“如果您希望VPC中的数据库实例可公开访问,则必须enable the VPC attributes DNS hostnames and DNS resolution。”
另外,请检查RDS实例主机名解析为的IP是否为公共IP地址。
答案 1 :(得分:1)
默认情况下,即使您在设置 RDS 时将“公共可访问性”设置为“是”,“安全组”仍然不允许端口 3306。
因此,您必须单击 RDS 的安全组,然后添加规则以允许来自任何 IP 的 3306。
这是参考设置。但在这里我必须首先警告您,这种公共可访问性会将您的数据库暴露在互联网上。请自行承担风险。
答案 2 :(得分:0)