在AWS Ningxia区域实践FortiGate Cross-AZ

 基本架构图如下:

两台FortiGate可以部署在不同的AZ同时工作,如果其中一台出现故障可以自动切换路由表下一跳,实现自动切换。

自动切换通过两个逻辑触发Lambda脚本执行修改路由表
1. Cloud watch event 周期性执行Lambda脚本
2. FortiGate发现故障可以触发事件发送给API Gateway,执行Lambda脚本

 

宁夏区域部署Cloudformation脚本

 


填写VPC子网信息

 


填写instance类型及keypair等信息

 

使用默认的option配置

 


预览总体配置,部署Stack

 

通过Cloud formation查看部署过程

  

5-10分钟后,所有的服务都创建成功

 

两台FortiGate自动创建成功

 

通过EIP登录到两台FortiGate,默认用户名admin,密码instance id

 


登录后修改初始密码

 

由于BYOL的镜像,我们需要手动上传license,上传成功后,FortiGate会自动重启

 

启动后的FortiGate无需额外配置,基本的切换配置已经预配置在其中

FGA

 

 

FGB

 

 

路由表信息
AZ1路由表与FGT1网卡ID

AZ2路由表与FGT2网卡ID

 


切换测试
正常情况下Cloud watch log中会显示两个FortiGate的状态都为true状态

 

当FGA故障,可以看到FortiGate状态变为False,并有路由表切换的详细情况

 

当FortiGate恢复后,会自动回切路由表

 

由于Cloud watch event的监控间隔为1分钟,如处于健康检查监控间隙出现故障,就需要FortiGate发起故障切换请求

60秒定期检查间隔,防火墙主动触发路由表切换

 

在FortiGate上的debug信息显示链路检查失败,触发aws-lambda的动作

 

 

 总结

Ningxia区域使用CFT部署还是需要修改一下我们原生的脚本,现在在中国的region中可以使用template快速在现有的VPC中部署FortiGate还是方便了不少。

FortiGate在同一个AZ中本来就可以实现HA ,Cross AZ的解决方案大大增加了FortiGate在AWS环境中的适应性。

 

posted @ 2018-12-15 21:27  mjchen  阅读(103)  评论(0)    收藏  举报