从VPC外部公开访问AWS RDS

7
我有一个VPC,其中配置了3个公共和私有子网以及用于公共的IGW和用于私有的NAT Gateway。
当我创建一个RDS实例时,我将其标记为可公开访问。但是当我尝试访问RDS终端节点时,我的连接失败了。
我创建了一个安全组来允许所有流量:0.0.0.0/0,我的VPC允许来自我的网络的流量。
如果我将我的RDS放在公共子网中,那么我可以连接,因为IGW允许连接。但是当它放置在私有子网中时,连接失败了?
我已经查阅了AWS和论坛上的大量资料,但似乎无法完成连接。我在配置中漏掉了什么吗?
非常感谢任何帮助。
谢谢。

1
当您将其部署在私有子网中时,来自互联网的入站连接无法到达私有子网和其中的rds/ec2实例。这通常是为了进一步加强网络设置中的安全性而完成的。因此,将其放置在私有子网中并且无法从外部访问是预期行为,或者我没有正确理解问题。 - Ashan
你好@ashan,根据最佳实践(至少是从我读过的资料中),它应该放置在一个私有子网中,并将公共可访问标志设置为true。我还设置了一个带有EIP附加的NAT网关。 - matoneski
4
即使你应用了公开可访问标志,如果你将RDS实例放置于私有子网中,则无法从外部访问。 - Ashan
1
你能解决这个问题吗? - Ashan
是的,我是,谢谢 @ashan - matoneski
1个回答

8
在研究如何在VPC外部与客户端/应用程序建立RDS实例的连接后,我发现以下内容:
AWS建议使用以下方法连接到RDS:
1. 同一VPC中的EC2实例 2. 不同VPC中的EC2实例 3. 不在VPC中的EC2实例 4. 通过Internet连接的客户端应用程序
如果不使用EC2,则必须将RDS放置在公共子网中,并附加Internet网关,并设置接收流量的安全组。
这里是一个参考链接-通过Internet访问VPC中的DB实例 图片也可以帮助您更好地理解:Client to RDS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接