使用网络访问控制列表控制子网流量 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用网络访问控制列表控制子网流量

网络访问控制列表 (ACL) 在子网级别允许或拒绝特定的入站或出站流量。您可以使用 VPC 的默认网络 ACL,也可以为 VPC 创建自定义网络 ACL,使其规则与您安全组的规则相似,以便为您的 VPC 添加额外安全层。

使用网络 ACL 不会产生任何额外的费用。

以下示意图显示了具有两个子网的 VPC。每个子网都有网络 ACL。当流量(例如,来自对等 VPC、VPN 连接或互联网)进入 VPC 时,路由器会将流量发送到其目的地。网络 ACL A 确定哪些发往子网 1 的流量可以进入子网 1,哪些发往子网 1 位置以外的流量可以离开子网 1。同样,网络 ACL B 确定哪些流量可以进入和离开子网 2。

具有两个子网的 VPC 和每个子网的网络 ACL。

有关安全组和网络 ACL 之间区别的更多信息,请参阅 比较安全组和网络 ACL

网络 ACL 基础知识

以下是开始之前需要了解的有关网络 ACL 的基本信息。

网络 ACL 关联
  • 您的 VPC 中的每个子网都必须与一个网络 ACL 相关联。如果您没有明确地将子网与网络 ACL 关联,则子网将自动与默认网络 ACL 关联。

  • 您可以创建自定义网络 ACL 并将其与子网相关联,以允许或拒绝子网级别的特定入站或出站流量。

  • 您可以将网络 ACL 与多个子网关联。但是,一个子网一次只能与一个网络 ACL 关联。当您将一个网络 ACL 与一个子网关联时,将删除之前的关联。

网络 ACL 规则
  • 网络 ACL 具有入站规则和出站规则。每条规则都可以接受或拒绝流量。每条规则都有介于 1 到 32766 之间的数字。在决定是否接受或拒绝流量时,我们按顺序评估规则,从编号最低的规则开始。如果流量与规则匹配,则应用该规则,并且我们不会评估其他任何规则。我们建议您首先以增量方式创建规则(例如,以 10 或 100 的增量增加),以便日后需要时插入新的规则。

  • 在流量进入和离开子网时,我们会评估网络 ACL 规则,而不是在子网内路由流量时进行评估。

  • NACL 无状态,这意味着不会保存有关先前发送或接收的流量的信息。例如,如果您创建了 NACL 规则,允许流向子网的特定入站流量,则不会自动允许对该流量做出响应。这与安全组的工作原理截然不同。安全组有状态,这意味着会保存有关先前发送或接收的流量的信息。例如,如果安全组允许流向 EC2 实例的入站流量,则将自动允许响应,不受任何出站安全组规则的影响。

限制
  • 每个 VPC 的网络 ACL 数量存在配额(也称为限制)。有关更多信息,请参阅 Amazon VPC 配额

  • 网络 ACL 无法阻止发往或来自 Route 53 Resolver 的 DNS 请求(也称为 VPC+2 IP 地址或 AmazonProvidedDNS)。要通过 Route 53 Resolver 筛选 DNS 请求,您可以启用 Route 53 Resolver DNS 防火墙

  • 网络 ACL 无法阻止访问实例元数据服务(IMDS)的流量。要管理对 IMDS 的访问权限,请参阅《Amazon EC2 用户指南》中的 配置实例元数据选项

  • 网络 ACL 不会筛选发往和来自以下位置的流量:

    • Amazon 域名服务 (DNS)

    • Amazon 动态主机配置协议 (DHCP)

    • Amazon EC2 实例元数据

    • Amazon ECS 任务元数据端点

    • Windows 实例的许可证激活

    • Amazon Time Sync Service

    • 默认 VPC 路由器使用的预留 IP 地址