Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
如何使用 NAT 网关设置 AWS Network Firewall?
我想将我的 AWS Network Firewall 配置为使用 NAT 网关检查流量。
简短描述
AWS Network Firewall 可以让您更精细地控制进出您的 Amazon Virtual Private Cloud(Amazon VPC)内部资源的流量。为了保护您的 Amazon VPC 资源,您可以在自己的子网中部署网络防火墙端点,并通过这些子网路由工作负载实例流量。这可以通过以下方式完成:
- 创建 VPC
- 创建防火墙
- 配置流量路由
注意: 无法检查部署了防火墙端点的同一子网中的工作负载。
解决方法
创建 VPC
- 访问 Amazon VPC 控制台。
- 在 VPC 控制面板上,单击创建 VPC。
- 在 VPC 设置下,输入以下内容:
选择 VPC 等。
在名称标签自动生成下,输入 VPC 的名称。在本示例中,VPC 被命名为 Protected_VPC_10.0.0.0_16-vpc。如果选择自动生成选项,则该名称将作为名称标签自动添加到 VPC 中的所有资源。
对于 IPv4 CIDR 块,输入 10.0.0.0/16。
对于 IPv6 CIDR 块,选择无 IPv6 CIDR 块。
对于租赁,选择默认。
对于可用区(AZs)数量,选择 2。
在自定义可用区下,选择两个可用区。在本示例中,选择了 us-east-2a 和 us-east-2b。
对于公有子网的数量,选择 2。
对于私有子网的数量,选择4。其中两个私有子网用于防火墙,两个用于工作负载子网。
对于NAT 网关($),选择每个可用区 1 个。NAT 网关会自动部署在公有子网中。
对于 VPC 端点,选择无。 - 选择创建 VPC。
- 根据不同用途对子网进行命名:
有两个公有子网用于 NAT 网关,在本示例中分别命名为 Public_Subnet_AZa 和 Public_Subnet_AZb。
对于私有子网,有两个用于防火墙端点,在本示例中分别命名为 Firewall_Subnet_AZa 和 Firewall_Subnet_AZb。
另外两个私有子网用于工作负载端点,在本示例中分别命名为 Private_Subnet_AZa 和 Private_Subnet_AZb。
创建防火墙
- 在导航窗格的 Network Firewall 下,选择防火墙。
- 选择创建防火墙。
- 在创建防火墙下,输入以下内容:
输入防火墙的名称。在本示例中,防火墙命名为 Network-Firewall-Test。
对于 VPC,选择 Protected_VPC_10.0.0.0_16-vpc。
对于防火墙子网,选择第一个可用区(us-east-2a),然后为子网选择 Firewall_Subnet_AZa。然后,选择添加新子网,并对第二个可用区(us-east-2b)重复此操作,然后为子网选择 Firewall_Subnet_AZb。
对于已关联防火墙策略,选择创建和关联空的防火墙策略。
对于新的防火墙策略名称,输入新策略的名称。 - 选择创建防火墙。每个子网都必须有一个唯一的路由表。四个私有子网均有一个与之关联的唯一路由表,而公有子网共享一个路由表。您必须创建一个新的路由表,其中包含指向互联网网关的静态路由,并将其关联到一个公有子网。
配置流量路由
流量的流向如下:
- 从 AZa 中的工作负载实例启动的流量将转发到 AZa 中的防火墙端点。
- AZa 中的防火墙端点将流量路由到 AZa 中的 NAT 网关。
- AZa 中的 NAT 网关将流量转发到与 VPC 关联的互联网网关。
- 互联网网关将流量转发到互联网。
反向的流量通过相同路径反向传输:
- 来自互联网的返回流量到达与 VPC 相连的互联网网关。只有一个互联网网关能连接到 VPC。
- 互联网网关将流量转发到 AZa 中的 NAT 网关。互联网网关根据工作负载可用区做出此决定。由于流量的目的地在 AZa 中,互联网网关选择 AZa 中的 NAT 网关来转发流量。无需为互联网网关维护路由表。
- AZa 中的 NAT 网关将流量转发到 AZa 中的防火墙端点。
- AZa 中的防火墙端点将流量转发到 AZa 中的工作负载。
**注意:**互联网网关可以针对从互联网返回到工作负载实例的数据包识别 NAT 网关。
创建 VPC 和防火墙后,必须配置路由表。配置路由表时,请记住以下几点:
- AZa(Private_Subnet_AZa)中的私有子网将所有发往互联网的流量转发到 AZa(Firewall_Subnet_AZa)中的防火墙端点。AZb 中的私有子网和 AZb 中的防火墙端点将重复此操作。
- AZa(Firewall_Subnet_AZa)中的防火墙子网将所有发往互联网的流量转发到 AZa(Public_Subnet_AZa)中的 NAT 网关。AZb 中的防火墙子网和 AZb 中的 NAT 网关将重复此操作。
- AZa(Public_Subnet_AZa)中的公有子网将所有流量转发到连接到 VPC 的互联网网关。
- 返回流量反向遵循相同的路径。
**注意:**流量保持在同一个可用区内,因此网络防火墙的出口和入口流量路由都通过同一个防火墙端点。这能让每个可用区中的防火墙端点对数据包进行有状态检查。
以下是路由表的配置示例:
Public_Subnet_RouteTable_AZa(子网关联: Public_Subnet_AZa)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | 互联网网关 |
| 10.0.0.0/16 | 本地 |
| 10.0.128.0/20 | AZa 中的防火墙端点 |
**注意:**在本示例中,10.0.128.0/20 是 Private_Subnet_AZa 的 CIDR。
Public_Subnet_RouteTable_AZb(子网关联: Public_Subnet_AZb)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | 互联网网关 |
| 10.0.0.0/16 | 本地 |
| 10.0.16.0/20 | AZb 中的防火墙端点 |
**注意:**在本示例中,10.0.16.0/20 是 Private_Subnet_AZb 的 CIDR。
Firewall_Subnet_RouteTable_AZa(子网关联: Firewall_Subnet_AZa)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | Public_Subnet_AZa 中的 NAT 网关 |
| 10.0.0.0/16 | 本地 |
Firewall_Subnet_RouteTable_AZb(子网关联: Firewall_Subnet_AZb)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | Public_Subnet_AZb 中的 NAT 网关 |
| 10.0.0.0/16 | 本地 |
Private_Subnet_RouteTable_AZa(子网关联: Private_Subnet_AZa)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | AZa 中的防火墙端点 |
| 10.0.0.0/16 | 本地 |
Private_Subnet_RouteTable_AZb(子网关联: Private_Subnet_AZb)
| 目的地 | 目标 |
|---|---|
| 0.0.0.0/0 | AZb 中的防火墙端点 |
| 10.0.0.0/16 | 本地 |
要验证您的路由配置是否正确,您可以在您的一个私有子网中部署 EC2 实例来测试您的互联网连接。如果在网络防火墙策略中没有配置任何规则,则无法对流量进行检查,并且流量可以到达互联网。确认已配置路由、安全组和网络访问控制列(网络 ACL)后,请向防火墙策略添加规则。
**注意:**您也可以将 Network Firewall 设置为利用防火墙路由来自互联网的流量,然后使其通过 NAT 网关。有关详细信息,请参阅使用互联网网关和 NAT 网关的架构。
相关信息
- 语言
- 中文 (简体)

相关内容
- 已提问 2 年前
AWS 官方已更新 6 个月前