我正在使用AWS免费层来设置我的Rails项目。然而,我感到困惑,为什么我不能通过sequel pro连接RDS。下面是RDS使用的VPCsecurity group。
sequel pro
RDS
VPC
security group
我在rails database.yml中设置了相同的主机、用户名、pwd和数据库名。我在EC2上的Rails项目可以完美地连接到RDS,但它无法从sequel pro连接。
database.yml
EC2
vxf3dgd41#
无法从VPC外部连接到RDS示例,而从VPC访问正常,通常与RDS的DNS名称无法在VPC外部解析有关。将数据库的Publicly accessible设置为yes,以便能够从外部连接。从AWS文档-从Internet隐藏VPC中的数据库示例:当您在VPC内启动数据库示例时,您可以使用PubliclyAccessible参数指定您创建的数据库示例是否具有解析为公网IP地址的DNS。此参数用于指定是否对数据库示例具有公共访问权限。请注意,对DB示例的访问最终由它使用的安全组控制,如果分配给DB示例的安全组不允许公共访问,则不允许公共访问。您可以通过修改PubliclyAccessible参数来修改DB示例以打开或关闭公共可访问性。此参数的修改方式与任何其他DB示例参数相同。有关详细信息,请参阅DB引擎的修改部分。
Publicly accessible
yes
**注意:**在RDS安全组中为0.0.0.0/0 CIDR范围打开任何端口是一种危险的做法。请指定并仅设置应该能够连接到安全组中RDS示例的源IP。
0.0.0.0/0
1qczuiv02#
对于任何人谁是有问题的续集临。下面的帖子帮了我。我下载了Sequel Ace,它修复了我的SSH + RDS连接问题。https://stackoverflow.com/a/56402217/1051391
2条答案
按热度按时间vxf3dgd41#
无法从VPC外部连接到RDS示例,而从VPC访问正常,通常与RDS的DNS名称无法在VPC外部解析有关。将数据库的
Publicly accessible
设置为yes
,以便能够从外部连接。从AWS文档-从Internet隐藏VPC中的数据库示例:
当您在VPC内启动数据库示例时,您可以使用PubliclyAccessible参数指定您创建的数据库示例是否具有解析为公网IP地址的DNS。此参数用于指定是否对数据库示例具有公共访问权限。请注意,对DB示例的访问最终由它使用的安全组控制,如果分配给DB示例的安全组不允许公共访问,则不允许公共访问。
您可以通过修改PubliclyAccessible参数来修改DB示例以打开或关闭公共可访问性。此参数的修改方式与任何其他DB示例参数相同。有关详细信息,请参阅DB引擎的修改部分。
**注意:**在RDS安全组中为
0.0.0.0/0
CIDR范围打开任何端口是一种危险的做法。请指定并仅设置应该能够连接到安全组中RDS示例的源IP。1qczuiv02#
对于任何人谁是有问题的续集临。下面的帖子帮了我。我下载了Sequel Ace,它修复了我的SSH + RDS连接问题。
https://stackoverflow.com/a/56402217/1051391