在不同可用区分别部署单可用区 NAT 网关,可以将公网出口的故障域缩小到可用区级别,避免跨可用区级联故障。
方案概述
为了缩小单一可用区故障时的故障半径,建议您在部署云上业务时做到可用区对齐,避免跨可用区调用。基于以上高可用容灾架构,建议您选择单可用区容灾形态的NAT网关,在每个可用区独立部署单可用区 NAT 网关,通过自定义路由表使各可用区的公网流量独立转发,从而将故障半径收敛至单一可用区。
如图,可用区 A 故障时,仅可用区 A 的业务受影响,可用区 B 、可用区 C 不受影响。
单可用区容灾模式已在 NAT 网关支持的所有地域开放,如需使用请联系客户经理申请。
配置步骤
多可用区部署单可用区 NAT 网关
前往NAT 网关购买页,为每个可用区各创建一个公网 NAT 网关。
付费模式:按量付费。
地域:选择创建公网 NAT 网关的地域。
网络及可用区:选择公网 NAT 网关所属的VPC和交换机。每个 NAT 网关选择不同可用区的交换机。创建成功后无法修改。
容灾类型:选择单可用区容灾:仅在所选可用区内部署,通过设备级冗余保障高可用。
弹性公网IP:根据是否已创建 EIP 等情况选择。
选择已有:选择未绑定实例的EIP。
新购弹性公网IP:无可用 EIP 时选择。默认创建BGP(多线)类型的按使用流量计费的EIP,可根据自身业务需要选择带宽峰值。
如需绑定BGP(多线)_精品线路类型或其他计费类型的EIP,需先申请EIP,创建时选择已有进行绑定。
稍后配置:成功创建的NAT网关将不具备公网能力,用户需后续手动绑定EIP。
创建完成后,单击目标公网NAT网关实例弹性公网IP列的立即绑定,可从已有弹性公网IP中选择或新购弹性公网IP并绑定。
为每个 NAT 网关配置 SNAT 条目:
前往公网 NAT 网关页面。单击目标实例操作列的设置SNAT,单击创建SNAT条目。
SNAT条目粒度:SNAT 规则的生效范围,根据管理精细度需求选择。
选择弹性公网IP地址:在下拉列表中选择提供公网访问的EIP。
可以选择多个EIP,业务连接会通过哈希算法分配到多个EIP,由于每个连接的流量不同,可能会出现多EIP业务流量不均匀的情况,建议将每个EIP加入到同一个共享带宽中以避免单EIP带宽达到上限导致业务受损。
EIP亲和性:选择多个EIP,未开启EIP亲和性时,同一个私网IP访问单一目的IP,可能使用不同的EIP。开启后,会使用相同的EIP。但访问单一目标的并发连接数过多时,会造成端口分配失败,需持续监控 端口分配失败丢失数。
创建完成后,可单击目标条目操作列的编辑,修改EIP与EIP亲和性。
路由配置:为每个可用区的交换机绑定独立的自定义路由表,并添加
0.0.0.0/0路由指向本可用区的 NAT 网关,确保各可用区的公网流量独立转发。前往专有网络控制台 - 路由表页面。在顶部菜单栏,选择公网 NAT 网关的地域。
创建路由表:单击创建路由表,选择目标专有网络,配置绑定对象类型为交换机。
绑定交换机:在专有网络控制台 - 路由表页面,单击目标路由表的绑定资源列的立即绑定,选择绑定交换机,在打开的对话框中选择目标交换机。
添加自定义路由:选择路由表详情页的路由条目列表>自定义路由条目页签,单击添加路由条目,配置目标网段为
0.0.0.0/0、下一跳类型为NAT网关,选择交换机所在可用区的 NAT 网关。
效果验证
分别登录不同可用区的 ECS 实例,执行以下命令查看出口 IP。
# 确认出口 IP 为本可用区 NAT 网关绑定的 EIP
curl ifconfig.me可用区 A 的 ECS 出口 IP 应为 NATGW-1 的 EIP,可用区 B 的 ECS 出口 IP 应为 NATGW-2 的 EIP。两个可用区的出口 IP 不同,故障域隔离生效。
应用于生产环境
业务侧 AZ 冗余:将业务系统也按可用区部署,确保单个可用区故障时其他可用区的业务可独立运行。
多 EIP 冗余:为每个 NAT 网关的 SNAT 条目绑定多个 EIP,当某个 EIP 因攻击不可用时,业务流量可通过其他 EIP 流出。
监控告警:为各 NAT 网关的并发连接数、出入方向带宽和端口分配失败丢失数配置告警,在资源接近瓶颈时及时扩容。
独立交换机:为 NAT 网关创建独立的交换机并预留足够私网 IP,避免因 IP 耗尽影响后续绑定 EIP。