写点什么

SD-WAN 和专线混合组网中的高可用设计(三)

  • 2019-12-20
  • 本文字数:1312 字

    阅读完需:约 4 分钟

SD-WAN 和专线混合组网中的高可用设计(三)

方法 2: 通过路由传播功能,控制明细路由

在 AWS VPC 网络中有一个特性,即如果存在到达路径的多个不同路由条目,则会选取最明细的一条路径。


举个例子,如果我们需要到达 10.0.0.1 的机器,目前路由表中有条目 A(10.0.0.0/8,下一跳 VGW-A),有条目 B(10.1.0.0/24,下一跳是 VGW-B),两个路由条目都包含了去目标机器的路由,但是 VPC 此时会选择条目 B,因为它更精细。


基于这个特性,我们也可以设计出在 Direct Connect 专线和 SDWAN 线路之间的动态路由切换机制。

打开路由传播功能

首先到所有的 VPC 的相应路由表中,打开路由传播的功能,此功能默认是关闭的。



勾选传播这个选项,然后保存。



开启了路由传播功能之后,我们可以看到这个路由表已经收到了来自 Customer Gateway 的动态路由条目了。这里也是所有 SDWAN 网络里面包含的路由条目。



编辑路由表,将 SDWAN 的路由设置得更范围更大一些,让它不优先起作用。


高可用测试

我们到 SDWAN 控制台将 Direct Connect 线路手动断掉,并且我们保持 AWS 北京的一台客户端长期 ping 一个新加坡客户端的地址。


可以看到,在断开线路的一瞬间,我们可以看到路由表的 ”Propagated“ 路由条目中 ”Yes“ 的路由已经消失了,只剩下一些手动创建的路由条目。并且这些路由条目也能指引客户端找到访问对端的路径,并且这些路径是经过 SDWAN 网络过去的。



在整个切换过程中,持续的 Ping 只丢了 3 个包,切换时间还是非常迅速的。



同样,我们如果将 Direct Connect 线路恢复,这些动态路由也会在几分钟之内完全恢复。

优劣分析

第二种方法的切换时间更快,而且在出现专线故障的情况下,我们希望切换的这个过程越快越好,而如果专线恢复,我们对切换回来的时间要求相对就没那么高了。所以这个方法还是很符合实际的使用要求的。


但如果路由条目比较复杂,我们在编写泛路由的时候需要比较小心,而且也需要注意 VPC 中路由表条目的硬限制(100 个路由条目)。

总结

在业务连续性和 RTO (Recovery Time Objective) 要求比较高的情况下,非常建议在网络的设计中考虑到双设备,双线路的冗余。并且需要整个切换的过程自动化,对业务的影响最小。


本文提供的两种方法,各有优缺点:


  1. AWS CLI 方法:能够集成更多功能,比如 VPC 路由表切换,SNS 等,能为切换带来更多的操作可能性;但切换时间在 3-5 分钟不等。

  2. 路由传播方法:从 DX 切换到 SDWAN 的切换时间在 3 秒左右,反过来的切换时间在几分钟的时间内,并且操作更加简单,不涉及 IAM 设置和两套路由表以及监控脚本。

参考文档

https://www.cisco.com/c/en/us/support/docs/cloud-systems-management/prime-access-registrar/213601-csr1000v-ha-redundancy-deployment-guide.html


作者介绍:


!



### [](https://amazonaws-china.com/cn/blogs/china/tag/%E8%82%96%E5%9F%B9%E5%BA%86/)
亚马逊AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广。现主要负责初创企业行业解决方案,曾任职于IBM,联想,Avnet,多年大型企业网络架构和运维经验。
复制代码


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/highly-available-design-snares-in-sd-wan-and-private-line-hybrid-networks/


2019-12-20 14:22794

评论

发布
暂无评论
发现更多内容

InfoQ 极客传媒15周年庆征文|云原生运维排障的关键要点

穿过生命散发芬芳

云原生 6月月更 InfoQ极客传媒15周年庆

彻底搞懂 select/poll/epoll,就这篇了!

C++后台开发

网络编程 linux开发 epoll select C++开发

Zookeeper入门基础

No Silver Bullet

zookeeper 6月月更

Linux开发_Linux下进程编程

DS小龙哥

6月月更

什么是 IPv6?IPv6有哪些优势?

wljslmz

ipv6 IP地址 网络技术 6月月更

数据库每日一题---第16天:计算特殊奖金

知心宝贝

数据库 云计算 前端 后端 6月月更

稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注

Geek_1ef48b

创建视图——基于函数的视图 Django

海拥(haiyong.site)

Python django 6月月更

FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup

声网

语音识别 RTC Dev Meetup

Java—JVM II

武师叔

6月月更

办事利器推荐 | 社区征文

工程师日月

工具软件 6月月更 初夏征文

金融之外,区块链还适合什么场景?

TinTinLand

区块链+ 科技 web3

vue动态路由

小恺

6月月更

flutter系列之:按比例缩放的AspectRatio和FractionallySizedBox

程序那些事

flutter 程序那些事 6月月更

手把手教你在CentOS环境安装Docker

迷彩

Docker 架构 运维 6月月更 InfoQ极客传媒15周年庆

颠覆Web2 社交媒体,Liberty 计划在波卡上找到了归宿

One Block Community

区块链 科技

【LeetCode】乘积小于 K 的子数组Java题解

Albert

LeetCode 6月月更

JavaScript基础语法知识遨游记

未见花闻

6月月更

别再说你不知道分布式事务了

牧小农

SDN系统方法 | 7. 叶棘网络

俞凡

架构 网络 sdn SDN系统方法

走近分布式缓存Memcached

No Silver Bullet

memcached 分布式缓存 6月月更

成为架构师需要点亮哪些知识树

奔向架构师

数据仓库 架构师 6月月更

模拟红绿灯来看GetX的定向刷新

岛上码农

flutter ios 前端 安卓 6月月更

统一返回结果

卢卡多多

返回值 6月月更

Web3 游戏:现状与未来

TinTinLand

区块链 科技 web3

Docker进阶(一):docker -v目录挂载

No Silver Bullet

Docker 6月月更

NodeJS 读写文件 🎠

德育处主任

node.js 6月月更

使用统计数据消除生活中的无谓

宇宙之一粟

贝叶斯公式 6月月更

Vue-13-Vif和Vshow的区别

Python研究所

6月月更

开源Star10K+数据库工具Beekeeper上手体验,免费够酷值得拥有!

MegaQi

数据库管理工具 6月月更 #开源项目体验

流计算中的死锁

Damon

6月月更

SD-WAN 和专线混合组网中的高可用设计(三)_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章