企业系统架构的形态为混合云模式,即IDC和云平台共同承载线上业务流量,来保证业务高可用。墨菲定律告诉我们,如果事情有变坏的可能,不管这种可能性有多小,它总会发生。如果IDC公网出口异常,IDC内业务要访问第三方服务,如何实现高可用呢?本文结合云平台公网能力,从网络平台角度来分析容灾建设可行性。
数据中心公网出口和当地运营商对接,情况千差万别,虽然IDC机房出口线路有多条线路,如果运营商接入口或者IDC出口故障,会导致整个IDC丧失公网能力。在这类场景下,公网入口流量可以通过DNS解析方式将业务流量切换到云平台;对于IDC出口流量调度只能通过业务层面调度来实现,涉及到业务调度各个企业实现方式不同,业务改造难度差异也较大。通常混合云网络架构如下:
关于混合云网络架构重点说明如下:
云平台和IDC互通。通常专线接入选择不同的POP,多条专线实现互通和高可用。云平台公网出口能力为EIP。入口流量通过CLB进行分发;出口流量通过NAT网关(即绑定EIP);服务器直接绑定EIP来访问公网。IDC公网出口有公网IP地址。入口流量通过F5或者api网关来承载流量,出口流量通过自建NAT集群来访问公网。正常情况下,IDC和云平台公网出口流量是烟囱式,互不交叉;当IDC公网出口异常,流量切换到云平台,同样云平台公网出口异常,流量切换到IDC。结合当前云平台兼容性,方案关键点:
承载公网流量切换的专线网关必须为VPC类型网关,非云联网类型,目前受限于平台产品能力。云平台NAT网关不支持流量导入,需要企业在VPC自建流量转发系统,推荐流量出口选择直接绑定EIP模式,流量更可控。整体公网出口容灾方案如下:
正常情况下,业务流量通过NAT访问公网,如上路绿色线条标识。云平台对于NAT和专线网关暂不支持ECMP,因此正常情况下,需要开启NAT路由,关闭专线网络路由,详情如下:
当NAT集群异常,云侧切换路由,通过专线网关将流量导入到IDC公网出口。切换动作目前只支持手动切换,通过调用API接口(DisableRoutes/EnableRoutes),关闭NAT网关选路,同时开启专线网络路由。云平台路由表信息如下:
业务回切。待业务恢复后,在一个业务低峰期时候,通过调用开启和关闭子子网路由来切换。
正常情况下,IDC业务流量通过NAT访问公网,如上路绿色线条标识。云平台路由表,公网出口通过NAT信息如下:
当IDC公网出口异常情况下,IDC需要切换路由通过云平台的公网出去。这里手动调用api接口(ReplaceRoutes)对云平台原先由表进行替换来实现,因为同一张表里目标0.0.0.0存在,当使用专线网关路由被启动后,必须要同时关闭NAT网关和服务器公网IP。下这张路由表来替换原有路由表,两张路由表唯一差异就是目的端0.0.0.0一个为专线网关,另外一个为公网IP。
PS:云服务器公网IP:云服务器绑定有公网IP时优先走公网IP访问公网,仅仅转发IDC公网流量。
业务回切,在一个业务低峰期时候,通过替换路由表来切换。
正常情况下,IDC和云平台公网出口流量是烟囱式,互不交叉;当IDC公网出口异常,流量切换到IDC备用公网出口通道,同样云平台公网出口异常,流量切换到云平台公网出口通道。结合当前云平台兼容性,方案关键点如下:
公有云公网出口具备高可用能力。例如上海地域公网出口异常,通过腾讯云内网将流量调度到南京或者广州公网出口,来恢复业务。云平台VPC子网路由通过绑定多个可用区NAT网关,同时NAT网络绑定多个EIP来实现高可用。IDC机房公网出口,可以通过借助云平台互联网专线通道能力,获取云平台的公网能力,实现IDC机房公网出口备用线路。正常情况下,业务流量通过两个NAT网关随机访问公网,推荐NAT网关绑定两个以上EIP。
当NAT集群异常,云平台通过内网流量调度到其他地域来恢复,可能会对业务方案时延有增加,客户侧不需要做任何操作。如果只是其中一个NAT网关异常,通过手动调用API方式来关闭异常网关路由来恢复,如下图所示。
当集群恢复后,通过开启路由来恢复两个NAT负载流量。
正常情况下,业务流量通过IDC数据中心公网来访问,如绿色线条标识。当IDC数据中心公网出口异常时候,通过切换到云平台的互联网通道来进行公网访问。云平台侧不需要做任何修改。
方案 | 优势 | 挑战 |
---|---|---|
IDC和云平台互为主备 | / | 1.自建网络转发系统。 2.增加后续系统维护成本,保证系统稳定性。 3.网络工程师人员要求较高。 4.方案落地周期较长。 5.方案实现较为复杂,不确定因素较多。 |
IDC公网出口容灾方案 (推荐) | 1.方案简单,更多依赖云平台能力 2.方案落地快捷。 3.人力成本低,不需要自建系统。 4.维护成本低,不需要后续维护系统稳定性。 | 1.需要增加互联网专线通道有额外成本。 |