陈奇网络工作室

腾讯云联网容灾方案

云计算

客户需求

上海区云、北京区云、IDC互联互通。

上海是生产环境,北京是容灾,IDC是办公室。

具体要求:

分别来自IDC-上海、IDC-北京的1、2条专线可以在主动和被动之间切换。

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,选择云联网接入网络。专用线路(专用信道)对应于专用线路网关。

IDC侧的VLAN ID和BGP AS号需要向专线提供商请求,边界IP和专线提供商协商规划。完成这些配置后,等待专线提供商接受提交的申请,然后在IDC设置上配置BGP以通告IDC内部网段。如果路由方法是静态路由,则将路由写在云上的设备上。

3.添加到专用网关的路由。

点击专用网关添加路由,进入IDC网段添加需要的IDC网段。

如果该私有网关没有加入云联网,请在云联网下连接该私有网关,私有网关上添加的路由会自动添加到云联网路由表中。

路线的细节,下一跳,是否开始路线等。可以在云网络的路由表中看到。如果有路由重叠,应优先匹配长掩码(例如,具有24和25个网段掩码和25个掩码的路由应优先)。如果该航段是相同的,并且是在之后添加的,则该航段将被自动禁用。

使用云网络SDK自动切换路由

1.编写相关代码

当代码放在相关服务器上时,触发脚本的条件可以设置为ping隧道边界ip和IDC内网ip。如果同时失败,将触发脚本切换专线。

#!/usr/bin/env python

# -*-编码:utf-8 -*-

#作者:liyk时间:2019/1/3

#文件:CCN.py

来自腾讯云. common导入凭据

从tencentcloud.vpc.v20170312导入vpc_client,型号

导入json

#

def Auth_vpc(id,key):

#认证ak

cred=凭证。凭据(id,密钥)

Vpc客户端=vpc客户端。VPC客户(cred,亚太-上海)

返回Vpc_client

#

def SH _ DescribeCcnRoutesRequest(Vpc _ client):

#获取上海专线的网关路由ID

req=型号。DescribeCcnRoutesRequest()

请求。CcnId=\\\'ccn-a187ua1z\\\ '

resp=Vpc_client。描述cnRoutes(r

resp=Vpc_client .描述cnroute(请求)

结果=JSON。负载(分别为to _ JSON _ string())

路由集=结果[\ \ '路由集\ \ ']

BJ _路泰兹=[]

对于路由集中的我:

如果我[\ \ '实例名\ \ ']==北京-国际数据中心:

bj _ route id=I[\ \ '路线id \ \ \ \ n]

BJ _路由Id . append(BJ _路由id)

返回BJ路线

#

def SH _ enableccongures(VPC客户端,SH_id):

#年#月#日开启上海路由

req=型号.enableccnroutesrequest()

请求,请回答S7-1200可编程控制器

请求,请回答。路由器id=[\ \ % s \ \ \ \ sh _ id]

打印(\\\)开启上海路由% s \ \ \ \ sh _ id)

resp=Vpc_client .启用ccongutes(请求)

# print(resp.to_json_string())

#

def bj _ enableccongusers(VPC _客户端,BJ_id):

#年#月#日开启北京路由

req=型号.enableccnroutesrequest()

请求,请回答S7-1200可编程控制器

请求,请回答。路由器id=[\ \ % s \ \ \ \ bj _ id]

打印(\\\)开启北京路由% s \ \ \ \ bj _ id

resp=Vpc_client .启用ccongutes(请求)

#

定义SH _ disable帐户用户(VPC客户,SH_id):

req=型号.disableccnroutesrequest()

请求,请回答S7-1200可编程控制器

请求,请回答。路由器id=[\ \ % s \ \ \ \ sh _ id]

打印(\\\)关闭上海路由% s \ \ \ \ sh _ id)

resp=Vpc_client .残疾人非政府组织(请求)

#

def bj _ disable ccongures(VPC _客户端,BJ_id):

req=型号.disableccnroutesrequest()

请求,请回答S7-1200可编程控制器

请求,请回答。路由器id=[% s % bj _ id]

打印(\\\)关闭北京路由% s \ \ \ \ bj _ id

resp=Vpc_client .残疾人非政府组织(请求)

#

如果__ _ _名称_ _ _ _主_ _:

id=\ \ ' akid * * * * * * * * * * * * * * * stzk \ \ '

键=\\ '库wt * * * * * * * * * * * m \ \ '

Vpc_client=Auth_vpc(id、key)

sh _ route ids=sh _ describe cn route s request(VPC客户)

bj _ route ids=bj _ describe cn route s request(VPC _客户端)

#年#月#日这里可使用平,平返回结果

操作=正常

如果oper==正常:

对于bj _ routeids中的BJ身份证:

bj _ disable客户(VPC _客户,BJ_id)

对于sh _ routeids中的SH_id:

SH _ enableccongures(VPC客户端,SH_id)

# sh _禁用非政府组织(Vpc_client、SH_id)

其他语句:

对于sh _ routeids中的SH_id:

SH _ disable帐户用户(VPC客户,SH_id)

对于bj _ routeids中的BJ身份证:

bj _ enableccongusers(VPC _客户端、BJ_id)

2 ._测试效果

模拟异常时切换:

切换完毕时中间大概中断30秒左右。

最佳方案

如果网络不重叠,2个VPC(消歧义)之间使用对等连接~我爱你~使用2个云联网然后分别加入对应VPC(消歧义)和(同induecourse)在适当时候的专线,这样从(同induecourse)在适当时候到云上可实现双活。例如国际数据中心上海中断,可通过国际数据中心北京再通过对等连接到上海。

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网页:1

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3