AWS RDS公共访问

时间:2015-08-07 00:33:45

标签: postgresql amazon-web-services amazon-rds

我对AWS配置感到难过。我的目标是创建一个可从网络内外访问的数据库。

这就是我所拥有的。 RDS实例运行postgresql。 VPC内部的连接正常工作。

端点设置为可公开访问 - 从外部访问时,实际上已解决。但是,连接挂起,表示某人阻止了流量。

安全组是好的:
入站:从0.0.0.0/0开始的端口5432 出站:全部来自0.0.0.0/0

子网。我认为这是错误的地方,对吧? 起初我在子网组中有两个私有子网和两个公共子网。为了简化,我删除了私有的,但没有改变结果。

所以我们有两个公共子网:

subnet group

两者都具有相同的路由表和Internet网关

subnet

internet gateway

据我所知,一切正常......那么谁阻止我的数据库连接?

3 个答案:

答案 0 :(得分:1)

要检查两件事:

  1. 确保RDS实例设置了publicly accessible属性,以便为其分配公共地址

  2. 此外,根据AWS RDS文档,“如果您希望VPC中的数据库实例可公开访问,则必须enable the VPC attributes DNS hostnames and DNS resolution。”

  3. 另外,请检查RDS实例主机名解析为的IP是否为公共IP地址。

答案 1 :(得分:1)

默认情况下,即使您在设置 RDS 时将“公共可访问性”设置为“是”,“安全组”仍然不允许端口 3306。

因此,您必须单击 RDS 的安全组,然后添加规则以允许来自任何 IP 的 3306。

这是参考设置。但在这里我必须首先警告您,这种公共可访问性会将您的数据库暴露在互联网上。请自行承担风险。

enter image description here

答案 2 :(得分:0)

根据新的AWS RDS UI。请按照以下步骤操作。

  1. 打开Amazon RDS控制台。
  2. 从导航窗格中选择“数据库”,然后选择数据库实例。
  3. 选择修改。
  4. 连接性 enter image description here

另外[重要]: PORT和IP更新入站和出站策略