NAT 网关连接到特定的子网,子网位于特定的可用区中。
私有子网中的Amazon EC2 实例可以使用 NAT 网关,如下所示:
- NAT 网关在同一 VPC的公有子网中启动
- 私有子网的路由表需要一个附加条目,将所有 Internet 绑定流量 (
0.0.0.0/0
) 定向到 NAT 网关
根据您对风险的偏好,您可能会配置不同的东西。
案例一:一个公有子网,一个私有子网在同一个AZ
- NAT 网关进入公共子网
- EC2 实例进入私有子网
- 私有子网的路由表指向公有子网中的 NAT 网关
案例 2:两个公有子网、两个私有子网、一个 NAT 网关
- NAT 网关进入一个公共子网 (
Public-Subnet-A
)
- EC2 实例在两个 AZ (
Private-Subnet-A
, Private-Subnet-B
)的私有子网中启动
- 两个私有子网的路由表都指向 NAT 网关
但是,如果可用区 A 出现故障(罕见,但可能发生),则 NAT 网关无法从Private-Subnet-B
. 因此,即使系统跨两个 AZ 运行,它也可能会受到影响。
案例 3:两个公有子网、两个私有子网、两个 NAT 网关
- NAT 网关进入两个公共子网 (
Public-Subnet-A
, Public-Subnet-B
)
- EC2 实例在两个 AZ (
Private-Subnet-A
, Private-Subnet-B
)的私有子网中启动
- 路由表
Private-Subnet-A
指向 NAT 网关Public-Subnet-A
- 路由表
Private-Subnet-B
指向 NAT 网关Public-Subnet-B
如果其中一个 AZ 发生故障,那么另一个私有子网中的 EC2 实例仍然能够与 Internet 通信,因为它们在同一个 AZ 中有自己的 NAT 网关。