0x01 前言

在使用高速通道打通云上云下的时,在云下访问云上的一些服务需要进行额外的调整。

按文档里说的,如果使用CEN(云企业网)打通不同地域的VPC,也需要进行类似的配置,否则可能会出现本文所提到的问题。但这部分内容还没进行过测试,因为没有测试环境,还需进一步确认。

0x02 架构及问题

在同一个地域下,不同可用区默认不相同,但可以使用CEN打通,同地域的CEN不限带宽且流量免费。如上图中的跨地域CEN连接则需要购买固定带宽,按带宽收费,不同的源与目标地域的带宽单价均不同。

文本主要涉及的架构如上图,其中云下网络通过高速通道与云上的VBR互通并建立BGP连接。同时该VBR需要加入对应的CEN实例,实现与VPC互通。

加入同一个CEN实例的VPC下的所有VSW网段都可以通过VBR的BGP向云下对对等体宣告,同样的,云下对等体也可以向云上宣告云下的网段,这里需要注意使用路由策略控制宣告及接收的网段,避免路由异常导致业务流量中断。这里可以参考以下文章:

至此,所有的流量都还是正常的,配置起来也简单。但诸如OSS和DTS等服务,使用的是阿里云的预留网段,主要是:100.64.0.0/10。

当通过云下网络或通过CEN访问不同地域使用这类IP的服务时将出现路由不可达的情况,一般体现为无响应。针对高速通道,甚至在VBR中添加路由也不行;而针对跨地域的VPC则完全想不到需要在哪添加路由。

0x03 解决方案

其实问题很简单,很明显是路由导致的问题。而CEN是将各个部分串起来的一个功能,所以在VBR中添加路由是不正确的。具体的描述可以参考以下文章:

在CEN实例中将目标地域的云服务网段加载到VPC实例中即可。云下和新加坡地域需要访问香港地域的OSS服务,那么需要找到香港地域OSS endpoint的网段:

然后到CEN实例中的云服务标签添加即可,添加的时候需要选择该服务所在地域的VPC,然后会列出该CEN实例下在该地域的所有VPC,选择其一即可:

完成后,该CEN实例下的所有节点均可访问。

0x04 结语

因为涉及云上路由,接收和宣告路由时无比要再三确认。