我在 AWS 上的不同 AZ 中放置了虚拟机。为了能够做到这一点,您需要在每个 AZ 中都有一个子网。
如果我为整个设置(即与所有子网关联)创建网络 acl,我是否需要指定所有子网 CIDR 范围的允许规则?如果我不这样做,网络 acl 会根据我的端口规则阻止子网间流量吗?
我假设他们会......但需要确认。
我在 AWS 上的不同 AZ 中放置了虚拟机。为了能够做到这一点,您需要在每个 AZ 中都有一个子网。
如果我为整个设置(即与所有子网关联)创建网络 acl,我是否需要指定所有子网 CIDR 范围的允许规则?如果我不这样做,网络 acl 会根据我的端口规则阻止子网间流量吗?
我假设他们会......但需要确认。
网络 ACL 不会阻止子网内流量。您可以将它们视为已应用于该子网上的路由器接口。所以 ACL 只影响进出子网的流量。
我相信罗恩的回答是正确的,但没有回答你的问题。
如果您在多个子网中有实例并且您的实例需要与您的 NACL 进行通信,则需要使用允许规则来解决此问题。我还没有对此进行测试,但我已经使用 AWS 工作了很长时间,我很确定这就是它的工作方式。
有趣的是,安全组是一个防火墙,可以被认为是围绕每个网络接口。因此,如果您希望安全组中的实例进行通信,您需要一个规则来允许从安全组进入自身。
对问题评论的回答:
端口 您只需要在您的 Web 服务器安全组上打开端口 80 / 443。1024 - 65535 部分是临时端口,如果您想了解它们,您应该阅读它们。从Wikipedia开始,然后在需要时转向更容易理解的内容。
AWS Inspector 此页面内容如下
通常,建议您将网络 ACL 保留为默认的“全部允许”设置,而是使用安全组来确保网络安全。
NACL代表传统路由器,它位于子网之间,控制进出子网的流量。NACL 规则是无状态的,这意味着它们需要在两个方向上定义。NACL 仅适用于子网之间的流量。
安全组是云计算中的一项新创新。它们是 VPC 中每个单独资源的防火墙(更准确地说,在每个弹性网络接口上)。这允许更细粒度的安全控制。规则是有状态的,这意味着发出的请求将自动允许响应进来。
安全组也可以相互引用。例如,考虑一个 Amazon EC2 实例和一个 Amazon RDS 数据库。可以在 EC2 实例上放置一个安全组,以允许传入的 Web 流量。可以在 RDS 实例上放置一个安全组,只允许来自与 EC2 实例关联的安全组的传入 SQL 查询。这比 NACL 规则要精确得多。
底线是: