2016-11-29 94 views
0

我正在使用AWS免费层来设置我的Rails项目。使用seqel pro连接到AWS RDS

但是,我感到困惑,为什么我不能连接RDS通过sequel pro

这里是VPCsecurity group其中RDS正在使用。

enter image description here

我在轨database.yml设置相同的主机,用户名,PWD和数据库名称。

我的导轨项目EC2可以连接到RDS完美,但它无法从续集pro连接。

+0

完美检查:您的RDS实例的“公开访问”设置是否设置为“是”? –

+0

没错!我多么愚蠢。谢谢。 –

回答

0

从VPC外部缺乏与RDS实例的连接,而来自VPC的访问正常工作通常与RDS的DNS名称不能在VPC之外解析有关。将您的数据库设置为Publicly accessible设置为yes以便能够从外部连接。

AWS docs - Hiding a DB Instance in a VPC from the Internet

当您启动VPC内数据库实例,您可以指定在创建数据库实例是否 有使用PubliclyAccessible参数解析为一个公共IP 地址的DNS。这个参数让 你指定是否有对数据库实例的公共访问。注意 访问数据库实例的权限最终由其使用的安全组 控制,并且如果分配给数据库实例的安全组不允许公共访问,则不允许公共访问。

您可以通过修改PubliclyAccessible参数修改数据库实例以打开或关闭公共可访问性 。就像任何其他数据库实例参数一样,此参数被修改为 。有关更多信息,请参阅 DB引擎的修改部分。

注:打开您的RDS的安全组中的任何端口0.0.0.0/0 CIDR范围是一种危险的做法。具体而言,只设置应该能够连接到安全组中的RDS实例的源IP。

+0

谢谢!这真的很有帮助! –