【问题标题】:AWS RDS "Publicly Accessible = No" vs instance in private subnetAWS RDS“可公开访问 = 否”与私有子网中的实例
【发布时间】:2023-03-21 06:48:01
【问题描述】:

我正在为我在 AWS 上的一个 Web 应用程序创建基础设施。该应用程序需要 Mysql RDS 实例。现在我想知道我是否应该简单地在公共子网中创建 RDS 实例并将其设置更改为 Publicly Accessible=No,或者我必须在私有子网中创建这个 RDS 实例以获得更好的安全性或其他东西。我很困惑,上述任何一个选项是否会比其他选项提供更好的安全性。

我还读到简单地将安全组分配给实例将充当防火墙,因此我可以拥有 public access=true RDS 实例及其安全组,仅允许从我的应用程序 EC2 实例访问。所以基本上我有下面提到的三个选项。

  1. 可公开访问 = 公共子网中的真正 RDS 实例,安全组仅允许访问 EC2 应用程序实例。

  2. 可公开访问 = 公有子网中的错误 RDS 实例。

  3. 私有子网中的 RDS 实例。

谁能解释上述方法在安全性方面的利弊?

【问题讨论】:

    标签: amazon-web-services amazon-rds amazon-vpc subnet private-subnet


    【解决方案1】:

    您是正确的,安全组可以为您的数据库以及 Amazon EC2 实例提供足够的保护。

    那么,AWS 为什么要提供公有/私有子网?这是因为许多客户想要它们,因为这是企业在使用云之前通常组织网络的方式。传统防火墙仅在子网之间起作用,而安全组分别应用于每个实例

    因此,如果您了解如何正确配置安全组,则根本不需要使用私有子网!然而,有些人更愿意将资源放在私有子网中,因为它提供额外的安全层。

    【讨论】:

    • 与没有公共端点的 RDS 实例相比,通过公共端点与 RDS 实例通信会产生更多的数据传输成本吗?
    • @LLL 请创建一个新问题,而不是通过对旧问题的评论提出问题。
    • 对不起,我在这里做了一个stackoverflow.com/questions/59306308/…
    猜你喜欢
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2017-12-29
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2018-05-02
    相关资源
    最近更新 更多