上一节我们创建了一个私有子网,此时里面的EC2是访问不通公网的。本节我们将创建一个NAT Gateway,并修改私有子网的路由,让它能通过NAT访问公网:

注意NAT Gateway要创建在公有子网里,这样它才能与公网通讯。
另外NAT上需要分配一个EIP
在NAT Gateway页面,点击创建:

为其命名为my-nat-gateway-01, 选择创建在公有子网(my-subnet-01) 里,点击Allocate Elastic IP, 这样会为它分配一个EIP:

我们在公有子网里创建了一个NAT,想要在私有子网里使用它,还需要更新路由表。在私有子网的路由表里新增一条路由:

将0.0.0.0/0的流量转到上面创建的nat:

此时在私有子网里创建的EC2都可以访问公网的资源。
除了创建NAT Gateway外,我们还可以使用NAT Instance为私有子网的机器提供访问公网的能力,我们将在下一节进行实验。
有了NAT Gateway,为什么还需要NAT Instance存在呢,这是因为它有一些优点:
NAT Gateway价格贵,要单独收流量处理费(每GB/0.01$)
可以根据需求对流量进行审计,比如在NAT Instance上安装IDS/IPS
它们的对比总结如下:
| 维度 | NAT Gateway | NAT Instance |
|---|---|---|
| 可用性 | 在AZ内是高可用的,底层是一个EC2集群,可自动伸缩 | 需要人工实现高可用 |
| 带宽 | 最大到45Gbps | 跟实例的类型有关 |
| 选型 | 不用选型 | 需要根据实际负载来决定使用哪种实例类型 |
| 公网IP | 在上面绑定一个EIP | 使用EIP/Public IP均可 |
| 安全组 | 不能绑定安全组 | 可以绑定安全组来控制流量出入 |