我最近继承了AWS账户的维护,并注意到db访问对任何网络都是开放的!因此,我认为它必须简单,就像我们使用自己的VM一样。除亚马逊外,AWS EC2实例具有内部IP和公共IP,有时还具有弹性IP。所以我认为我会搜索谷歌并找到一个简单的快速写,但似乎没有。那么有人可以提供一个简单的写作,在这里,如何做到这一点。据我所知,RDS安全性有三种方法,等等。如果您没有时间或愿意覆盖所有三个,请选择您喜欢的并用于示例。如果我在一天左右的时间内没有得到很好的回复,我会点击文档并将其拼凑在一起,提前谢谢!
我稍微修改了一下。文档不太具有启发性。我发现在分配了弹性IP的EC2实例上,我必须使用我应用于RDS MySQL数据库的安全组中允许的私有IP。分配的弹性IP或未分配的弹性IP不影响连接。在没有分配弹性IP的EC2实例上,我必须使用安全组中允许的公共IP。私人知识产权并不重要。这对我来说有点奇怪。
答案 0 :(得分:3)
Amazon Relational Database Service(RDS)实例通常应保密,以防止从Internet访问。只有在极少数情况下才能在Internet上访问RDS实例。
可以通过多种方式保护RDS实例:
<强> 1。在私有子网中启动它 可以使用公共和私有子网配置虚拟私有云(VPC)。在私有子网中启动RDS实例将阻止从Internet访问。如果仍需要通过Internet访问(例如,访问公司网络),请在VPC和公司网络之间创建安全的VPN连接。
<强> 2。使用安全组 安全组像每个EC2实例周围的防火墙一样运行。它们定义允许入站和出站访问的端口和IP地址范围。默认情况下,允许出站访问,但不允许入站访问。
第3。没有公共IP地址 如果RDS实例没有公共IP地址,则无法从Internet直接访问它。
<强> 4。网络访问控制列表 这些类似于安全组,但它们在子网级别运行。适用于控制哪些应用层可以相互通信,但不适合保护特定的EC2或RDS实例。
因此,要使RDS实例可公开访问,它必须具备以下所有内容:
根据您的情况,我建议:
PubliclyAccessible
设置为False。这将删除公共IP地址。