Tencent云联网灾备方案-创新互联
客户需求
上海区云、北京区云、IDC互通。
上海区是生产环境、北京区是灾备、IDC是办公室机房
- 具体要求:
1、2条专线分别从IDC-上海、IDC-北京,能做到双活切换
2、上海、北京互通,北京灾备保持与上海的数据一致。
实施难点
- 网段重叠:客户的上海、北京、IDC均是172.18.0.0/16网段
- 专线切换:IDC-上海、IDC-北京,任意一条专线中断可自动切换到另外一条。
需求分析
1、由于网段重叠,无法使用对等连接,只能使用云联网 来解决网段重叠问题。
2、客户IDC也是172.18.0.0/16网段,导致在上海、北京分别到IDC的路由冲突,无法同时存在。故只能做到主备,正常开启上海的路由,上海-IDC专线中断后切换到北京-IDC。使用python调用云联网SDK操作开启/关闭路由。
3、北京灾备方面,云数据库用DTS实时同步数据、网站文件利用COS迁移工具将上海CVM数据迁移到北京COS,然后北京服务器再从COS取数据。或者直接使用rsync同步数据。北京服务器可由上海已配置环境的服务器做镜像,镜像复制到北京,再利用镜像开出服务器。
操作配置
- 1、云联网配置
- 新建云联网(目前公测阶段,需要申请此产品),并关联对应实例
- 关联实例后会自动把实例所拥有的路由自动添加到云联网路由表里。
- 新建云联网(目前公测阶段,需要申请此产品),并关联对应实例
2、专线配置(云平台)
- 专线网关创建配置(云产品->私有网络->专线网关)
新建专线网关时,关联网络类型要选择为云联网,云联网实例可现在关联也可之后关联。 - 专用通道创建配置(云产品->专线接入->专用通道)
创建专用通道时选择专线类型,本例使用的是共享专线,需要填写专线提供方的账户ID、共享专线ID,接入网络选择云联网。一条专线(专用通道)对应一个专线网关。
VLAN ID、IDC侧BGP AS号这些需向专线提供方索要,边界IP和专线提供方协商规划。这些配置完毕后等待专线提供方接受提交的申请,然后再IDC设置上配置BGP宣告IDC内网网段,如果路由方式是静态路由那就在设备上写到云上的路由。
- 专线网关创建配置(云产品->私有网络->专线网关)
3、专线网关上添加路由
- 点击需要添加路由的专线网关,进入IDC网段添加需要的IDC网段
如果此专线网关未加入云联网,请在云联网下关联此专线网关,在专线网关上添加的路由会自动添加到云联网路由表里。
在云联网路由表里可看出路由的详情,下一跳、是否启动该路由等。如果存在路由重叠,优先匹配长掩码(例如同网段24和25掩码,优先匹配25掩码的路由)。如果路由网段相同后添加的则自动禁用此路由。- 点击需要添加路由的专线网关,进入IDC网段添加需要的IDC网段
使用云联网SDK自动切换路由
1、编写相关代码
将代码放置到相关服务器上,触发脚本条件可设置为ping隧道边界ip及IDC内网ip,如果同时不通则触发脚本切换专线。#! /usr/bin/env python # -*- coding:utf-8 -*- # Auther: liyk time:2019/1/3 # File : CCN.py from tencentcloud.common import credential from tencentcloud.vpc.v20170312 import vpc_client,models import json # def Auth_vpc(id,key): # 认证ak cred = credential.Credential(id,key) Vpc_client = vpc_client.VpcClient(cred,"ap-shanghai") return Vpc_client # def SH_DescribeCcnRoutesRequest(Vpc_client): # 获取上海专线网关路由ID req = models.DescribeCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' resp = Vpc_client.DescribeCcnRoutes(req) result = json.loads(resp.to_json_string()) RouteSet = result['RouteSet'] SH_RouteIds = [] for i in RouteSet: if i['InstanceName'] == "shanghai-IDC": SH_RouteId = i['RouteId'] SH_RouteIds.append(SH_RouteId) return SH_RouteIds # def BJ_DescribeCcnRoutesRequest(Vpc_client): # 获取北京专线网关路由ID req = models.DescribeCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' resp = Vpc_client.DescribeCcnRoutes(req) result = json.loads(resp.to_json_string()) RouteSet = result['RouteSet'] BJ_RouteIds = [] for i in RouteSet: if i['InstanceName'] == "beijing-IDC": BJ_RouteId = i['RouteId'] BJ_RouteIds.append(BJ_RouteId) return BJ_RouteIds # def SH_EnableCcnRoutes(Vpc_client,SH_id): # 开启上海路由 req = models.EnableCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' req.RouteIds = ['%s' %SH_id] print('开启上海路由 %s' % SH_id) resp = Vpc_client.EnableCcnRoutes(req) # print(resp.to_json_string()) # def BJ_EnableCcnRoutes(Vpc_client,BJ_id): # 开启北京路由 req = models.EnableCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' req.RouteIds = ['%s' %BJ_id] print('开启北京路由 %s' % BJ_id) resp = Vpc_client.EnableCcnRoutes(req) # def SH_DisableCcnRoutes(Vpc_client,SH_id): req = models.DisableCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' req.RouteIds = ['%s' %SH_id] print('关闭上海路由 %s' % SH_id) resp = Vpc_client.DisableCcnRoutes(req) # def BJ_DisableCcnRoutes(Vpc_client,BJ_id): req = models.DisableCcnRoutesRequest() req.CcnId = 'ccn-a187ua1z' req.RouteIds = ["%s" %BJ_id] print('关闭北京路由 %s' % BJ_id) resp = Vpc_client.DisableCcnRoutes(req) # if __name__ == "__main__": id = 'AKID*******sTzK' key = 'KUWT*******M' Vpc_client = Auth_vpc(id, key) SH_RouteIds = SH_DescribeCcnRoutesRequest(Vpc_client) BJ_RouteIds = BJ_DescribeCcnRoutesRequest(Vpc_client) # 这里可使用ping返回结果 oper = "normal" if oper == "normal": for BJ_id in BJ_RouteIds: BJ_DisableCcnRoutes(Vpc_client, BJ_id) for SH_id in SH_RouteIds: SH_EnableCcnRoutes(Vpc_client, SH_id) # SH_DisableCcnRoutes(Vpc_client, SH_id) else: for SH_id in SH_RouteIds: SH_DisableCcnRoutes(Vpc_client, SH_id) for BJ_id in BJ_RouteIds: BJ_EnableCcnRoutes(Vpc_client, BJ_id)
- 2、测试效果
模拟异常时切换:
切换完毕时中间大概中断30秒左右。
最佳方案
如果网络不重叠,2个VPC之间使用对等连接、使用2个云联网然后分别加入对应VPC和IDC的专线,这样从IDC到云上可实现双活。例如IDC-上海中断,可通过IDC-北京再通过对等连接到上海。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:Tencent云联网灾备方案-创新互联
当前路径:http://pwwzsj.com/article/dijgej.html