我正在使用AWS免费层来设置我的Rails项目。使用seqel pro连接到AWS RDS
但是,我感到困惑,为什么我不能连接RDS
通过sequel pro
。
这里是VPC
security group
其中RDS
正在使用。
我在轨database.yml
设置相同的主机,用户名,PWD和数据库名称。
我的导轨项目EC2
可以连接到RDS
完美,但它无法从续集pro连接。
我正在使用AWS免费层来设置我的Rails项目。使用seqel pro连接到AWS RDS
但是,我感到困惑,为什么我不能连接RDS
通过sequel pro
。
这里是VPC
security group
其中RDS
正在使用。
我在轨database.yml
设置相同的主机,用户名,PWD和数据库名称。
我的导轨项目EC2
可以连接到RDS
完美,但它无法从续集pro连接。
从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。
谢谢!这真的很有帮助! –
完美检查:您的RDS实例的“公开访问”设置是否设置为“是”? –
没错!我多么愚蠢。谢谢。 –