有没有办法让 AWS RDS Public Accessibility = No 但仍然可以在 EC2 实例之外访问?

Zek*_*ake 5 mysql rds amazon-web-services amazon-vpc aws-security-group

出于与管理相关的原因,我需要将 RDS 的公共可访问性选项设置为“否”。

但是,我们也在考虑能够从我们的本地设备访问 RDS。我们能够这样做的唯一方法是在公共可访问性中选择“是”。当然,VPC、网关、子网和安全组已经设置了适当的面向公众的东西,这可能是 Yes 选项起作用的原因。

但是当我们将其设置为 No 时,现在只有 EC2 实例能够连接到数据库。

有没有办法解决这个问题,或者这真的是公共可访问性标志的设计吗?

提前致谢。

小智 5

将公共可访问性设置为“否”将不允许来自互联网的任何访问。有多种方法可以将 RDS 连接到本地。

  1. 将您的公网 IP 添加到rds 数据库实例的安全组中

  2. 跳转服务器/堡垒

  3. VPN / 直接连接

您询问如何确保这一点的最佳方法..最好的选择是#3。但要做到这一点,您需要在私有子网中构建数据库实例。

如何?

导航到 RDS > 子网组。创建数据库子网组。选择您的 VPC 和要使用的私有子网。

  • 嘿,我已经尝试过第一种方法(将我的 ip 地址添加到我的 rds 的安全组),但我仍然必须将公共可访问性选项设置为“是”才能从外部客户端建立连接...您亲自尝试过吗那个选项?如果是,您有更多细节可以分享吗?另外,第三个选项似乎很有趣,有指向一些文档/教程的指针吗?谢谢! (3认同)

Mad*_*n S 4

是的公共可访问性标志阻止您直接通过 Internet 访问 RDS,但您可以通过放置在公共子网中的跳转服务器(如 ssh bashtion)间接访问。大多数流行的 Mysql UI 编辑器(例如sequel pro)都有一个用于 ssh 配置的内置选项,使用此选项您可以从本地设备访问 RDS。您还可以配置到堡垒的隧道。