写点什么

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:22709

评论

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

LeetCode题解:1. 两数之和,JavaScript,双循环暴力解法,详细注释

Lee Chen

大前端 LeetCode

脑洞:基于Enterprise Continuum证明DDD用于构建汽车的可行性

冯文辉

企业架构 领域驱动设计 DDD 架构演进

阿里巴巴大规模应用 Flink 的实战经验:常见问题诊断思路

Apache Flink

flink

性能优化

独孤魂

【区块链+通证经济】从量变到质变区块链发展的下一阶段是什么?

CECBC

数字货币 防篡改 通证

最高法主张加强数字货币产权保护有法可依

CECBC

数字货币 法偿货币 中国人民银行 虚拟财产

OAM 深入解读:如何基于 OAM Runtime 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

架构师训练营第八周学习总结

张明森

除了技术,加密货币开发者更应关注可使用性

CECBC

加密货币 用户为本 可使用性 容错机制

如何识别刷屏文章中的伪科学

Lee Chen

大前端 随笔杂谈

推荐 16 款 IDEA 插件,让你的开发速度飞起来!

Bruce Duan

idea插件

IO系列——用户空间与内核空间

Java联盟

io 零拷贝 用户空间 内核空间 zero copy

胡继晔:发挥我国优势把依法治网落实到区块链管理中

CECBC

CECBC 胡继晔 依法治网 数字货币监管

Vue 学习笔记-2

多选参数

vue.js Vue vuejs

CDN百科第七期 | 关于CDN的原理、术语和应用场景那些事

阿里云Edge Plus

CDN

英特尔中国研究院宋继强:芯片、系统、软件成为异构计算的三层级

最新动态

高能预警!Apache Flink Meetup · 上海站返场啦

Apache Flink

flink

第7周作业

文古

2. 妈呀,Jackson原来是这样写JSON的

YourBatman

Java json Jackson Fastjson

Vue 学习笔记-3

多选参数

vue.js Vue vuejs

四十个鹏城春夏,一场数字繁花

脑极体

架构师训练营第八周笔记

Melo

腾讯面试题: 百度搜索为什么那么快?

小松漫步

面试

报志愿|想学区块链,要上什么大学?报什么专业?

CECBC

高考 报考志愿 区块链专业 高校学院

JVM系列之:对象的锁状态和同步

程序那些事

JVM GC 同步

Demo 示例:如何原生的在 K8s 上运行 Flink?

Apache Flink

flink

LeetCode001-两数之和-easy

书旅

算法 LeetCode 数据结构与算法

Flink Weekly | 每周社区动态更新

Apache Flink

flink

关于中台,可能都是正确的废话

FinClip

中台 业务中台

敏捷软件开发宣言及十二原则

BigYoung

敏捷开发

主宰操作系统的经典算法

苹果看辽宁体育

后端 操作系统

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