使用网络 ACL
以下任务为您展示如何使用 Amazon VPC 控制台来处理网络 ACL。
任务
1. 确定网络 ACL 关联
您可以使用 Amazon VPC 控制台来确定与某个子网关联的网络 ACL。网络 ACL 可与多个子网关联,因此,您还可以确定与某个网络 ACL 关联的子网。
确定与某个子网关联的网络 ACL
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Subnets(子网),然后选择子网。
Network ACL(网络 ACL)中已包含与子网相关联的网络 ACL 以及网络 ACL 的规则。
判断与网络 ACL 关联的特定子网
-
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL)。Associated With(关联)列指示每个网络 ACL 的关联子网的数目。
-
选择网络 ACL。
-
在详细信息窗格中,选择Subnet Associations(子网关联)可显示与网络 ACL 关联的子网。
2. 创建网络 ACL
您可以为 VPC 创建自定义网络 ACL。默认情况下,您创建的网络 ACL 将阻止所有入站和出站流量(直到您添加规则),且不与任何子网关联(直到您为其显式关联子网)。
创建网络网络 ACL
-
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL)。
-
选择 Create Network ACL(创建网络 ACL)。
-
在 Create Network ACL(创建网络 ACL)对话框中,可以选择命名您的网络 ACL,然后 VPC 列表中选择 VPC 的 ID。然后选择Yes, Create(是,创建)。
3. 添加和删除规则
当您在网络 ACL 中添加或删除规则时,与其相关联的子网也会随之更改。您不必终止并重新启动子网中的实例。这些更改在短时间内生效。
重要
请在同时增加和删除规则时谨慎小心。网络 ACL 规则定义了哪些类型的网络流量可以进入或退出您的 VPC。如果您删除入站或出站规则,然后添加的新条目数超过了 Amazon VPC 配额 中允许的数量,则选择删除的条目将被删除,并且不会添加新条目。这可能会导致意外的连接问题,并在无意中阻止进出 VPC 的访问。
如果您使用 Amazon EC2 API 或命令行工具,则无法修改规则。您只能添加和删除规则。如果您使用 Amazon VPC 控制台,则可以修改现有规则的条目。控制台将为您删除现有规则并添加新规则。如果您需要更改 ACL 中的规则顺序,您必须添加有新规则编号的新规则,并随后删除最初的规则。
为网络 ACL 添加规则
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL)。
-
在详细信息窗格中,根据需要添加的规则的类型,选择 Inbound Rules(入站规则)或 Outbound Rules(出站规则)选项卡,然后选择 Edit(编辑)。
-
在Rule #(规则 #)中输入一个规则编号(例如 100)。规则编号必须尚未在网络 ACL 中使用。我们会按顺序处理规则,以编号最低的规则开始。
我们建议您使用跳跃的规则编号(例如 100、200、300)而不是使用顺序编号(例如 101、102、103)。这会让添加新规则变得更加简单,无需对现有规则重新编号。
-
从 Type(类型)列表中选择规则。例如,要为 HTTP 添加规则,请选择 HTTP。如需添加规则以允许所有 TCP 流量,请选择 All TCP(所有 TCP)。对于部分选项(例如 HTTP)我们会在端口中为您提供。如需使用未列出的规则,请选择 Custom Protocol Rule(自定义协议规则)。
-
(可选)如果要创建自定义协议规则,请从 Protocol(协议)列表中选择协议的编号和名称。有关更多信息,请参阅IANA List of Protocol Numbers
。 -
(可选)如果您已经选定的协议要求提供端口号,您可以输入由连字符分隔的端口号或端口范围(例如 49152-65535)。
-
在 Source(资源)或 Destination(目的地)字段中(根据是入站规则还是出站规则),输入规则适用的 CIDR 范围。
-
从 Allow/Deny(允许/拒绝)列表中,选择 ALLOW(允许)以允许指定数据流,或选择 DENY (拒绝)以拒绝指定数据流。
-
(可选)要添加其他规则,请选择 Add another rule(添加另一个规则),然后根据需要重复步骤 4 至 9。
-
完成此操作后,选择Save(保存)。
从网络 ACL 删除规则
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL),然后选择网络 ACL。
-
在详细信息窗格中,选择 Inbound Rules(入站规则)或 Outbound Rules(出站规则)选项卡,然后选择 Edit(编辑)。为要删除的规则选择 Remove(删除),然后选择 Save(保存)。
4. 关联子网与网络 ACL
如需对特定子网应用特定的网络 ACL 规则,您必须首先将子网与网络 ACL 关联。您可以将网络 ACL 与多个子网关联。但是,一个子网只能与一个网络 ACL 关联。任何未与特定 ACL 关联的子网都会默认与默认网络 ACL 关联。
将子网与网络 ACL 关联
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL),然后选择网络 ACL。
-
在详细信息窗格中的 Subnet Associations(子网关联)选项卡上,选择 Edit(编辑)。选中要与网络 ACL 关联的子网的 Associate(关联)复选框,然后选择 Save(保存)。
5. 解除网络 ACL 与子网的关联
您可以从子网取消自定义网络 ACL 的关联。当子网与自定义网络 ACL 取消关联时,它会随即自动与默认网络 ACL 关联。
解除子网与网络 ACL 的关联
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL),然后选择网络 ACL。
-
在详细信息窗格中,选择 Subnet Associations(子网关联)选项卡。
-
选择 Edit(编辑),然后取消选中子网的 Associate(关联)复选框。选择保存。
6. 更改子网的网络 ACL
您可以更改与某个子网关联的网络 ACL。例如,当您创建一个子网时,这个子网会最初与主路由表关联。相反,您可能需要将其与您创建的自定义网络 ACL 相关联。
更改子网的网络 ACL 后,您不必终止并重新启动子网中的实例。这些更改在短时间内生效。
更改子网的网络 ACL 关联
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Subnets(子网),然后选择子网。
-
选择 Network ACL(网络 ACL)选项卡,然后选择 Edit(编辑)。
-
从更改为列表中选择要与子网关联的网络 ACL,然后选择保存。
7. 删除网络 ACL
您只可以删除未与任何子网关联的网络 ACL。您无法删除默认网络 ACL。
删除网络 ACL
-
通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择 Network ACLs(网络 ACL)。
-
选择网络 ACL,然后选择 Delete(删除)。
-
在确认对话框中,选择 Yes, Delete(是的,删除)。
API 和命令概览
您可以使用命令行或 API 执行此页面上所说明的任务。有关命令行界面以及可用 API 列表的更多信息,请参阅 使用 Amazon VPC。
为您的 VPC 创建网络 ACL
create-network-acl (AWS CLI)
New-EC2NetworkAcl (AWS Tools for Windows PowerShell)
说明您的一个或多个网络 ACL
describe-network-acls (AWS CLI)
Get-EC2NetworkAcl (AWS Tools for Windows PowerShell)
向网络 ACL 添加规则
create-network-acl-entry (AWS CLI)
New-EC2NetworkAclEntry (AWS Tools for Windows PowerShell)
从网络 ACL 中删除规则
delete-network-acl-entry (AWS CLI)
Remove-EC2NetworkAclEntry (AWS Tools for Windows PowerShell)
替换网络 ACL 中的现有规则
replace-network-acl-entry (AWS CLI)
Set-EC2NetworkAclEntry (AWS Tools for Windows PowerShell)
替换网络 ACL 关联
replace-network-acl-association (AWS CLI)
Set-EC2NetworkAclAssociation (AWS Tools for Windows PowerShell)
删除网络 ACL
delete-network-acl (AWS CLI)
Remove-EC2NetworkAcl (AWS Tools for Windows PowerShell)
使用 Firewall Manager 管理网络 ACL
AWS Firewall Manager 可简化跨多个账户和子网的网络 ACL 管理和维护任务。您可以使用 Firewall Manager 监视组织中的账户和子网,并自动应用您定义的网络 ACL 配置。如果要保护整个企业,或者经常添加要通过中央管理员账户自动保护的新子网,Firewall Manager 尤其有用。
利用 Firewall Manager 网络 ACL 策略,借助单个管理员账户,您可以配置、监视和管理您希望在整个组织中使用的网络 ACL 中定义的最小规则集。您可以指定组织的哪些账户和子网在 Firewall Manager 策略的范围内。Firewall Manager 报告范围内子网的网络 ACL 的合规性状态,可以将 Firewall Manager 配置为自动修复不合规的网络 ACL,使其合规。
要了解有关使用 Firewall Manager 管理网络 ACL 的更多信息,请参阅《AWS Firewall Manager 开发人员指南》中的以下资源: