amazon-web-services - 为什么我们需要 AWS 中的私有(private)子网 + NAT 转换?我们不能只使用公共(public)子网 + 正确配置的安全组吗?

标签 amazon-web-services amazon-vpc nat subnet aws-security-group

因此,AWS 中私有(private)子网的目的是使其实例无法从外部世界直接访问。然而,在某些情况下(成功地抵制了“实例”双关语),实例访问互联网很有用。例如,一种这样的用例可能是下载软件更新。

实现这一点的“标准”方法是使用 NAT 网关和路由表中的规则将所有出站流量指向它(0.0.0.0/0 -> nat-gw)。

让我困惑的是这个 :
我们不能只使用具有正确配置的安全组 (SG) 的公共(public)子网来拒绝入站流量并允许特定的出站流量吗?由于 SG 是有状态的,它们应该允许对出站流量的响应通过,就像 NAT 网关一样。

我假设我只是遗漏了一些东西,或者上述配置在某种程度上受到了我没有看到的限制。但是我找不到这个问题的答案。

最佳答案

简单的答案是……你是对的!

您当然可以在公共(public)子网中启动所有内容并使用安全组来控制实例之间的流量并限制来自 Internet 的入站访问。

人们使用公共(public)和私有(private)子网,因为这是传统网络设计的方式,当时防火墙只存在于子网之间。安全组是在 Elastic Network Interface 上工作的额外安全层,但对于许多网络专业人士(包括设计合规性要求的人)来说,这有点可怕和新奇。

关于amazon-web-services - 为什么我们需要 AWS 中的私有(private)子网 + NAT 转换?我们不能只使用公共(public)子网 + 正确配置的安全组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43985703/

相关文章:

java - 如何发现给定接口(interface)背后的 NAT 类型

java - AWS SDK - 非常大 - 11MB。我只想使用 SimpleDB 服务

node.js - 对于 node.js,knox 和 AWS SDK 之间有什么区别?

JavaScript 代码在 AWS EC2 实例上失败

elasticsearch - AWS appync 查询解析器返回 null

amazon-web-services - 启用私有(private)访问后,无法访问 VPC 内的 EKS api 服务器端点

amazon-web-services - AWS Codepipeline - 一次在多个环境上部署

amazon-web-services - AWS 安全组连接跟踪在 ECS + Fargate 中运行的 ASP.NET Core 应用程序中的主体响应失败

webrtc - 我们可以使用公共(public) STUN 服务器来创建我们的商业应用程序吗?

networking - 网络中私有(private) IP 地址之间的寻址