写点什么

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

评论

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

Linux系统学习《Linux一学就会》Linux文件系统结构

侠盗安全

Linux linux运维 运维工程师 云计算架构师

Java 动态代理之 InvocationHandler 最简单的入门教程

汪子熙

Java 动态代理 28天写作 SAP 12月日更

Kotlin 初学者教程【Kotlin专题1】

坚果

kotlin 28天写作 12月日更

大厂算法面试之leetcode精讲22.字典树

全栈潇晨

LeetCode 算法面试

爱奇艺基础数据平台演进

爱奇艺技术产品团队

给弟弟的信第4封|你需要尽早知道的理财知识

大菠萝

28天写作

说了半天跨平台,今儿咱就来跨跨!(上)

为自己带盐

Docker dotnet 28天写作 签约计划第二季 12月日更

让设计如语言一般自然

鲸品堂

设计 通信 运营商

网络协议之:还在用HTTP代理?弱爆了!快试试SOCKS5

程序那些事

网络协议 HTTP 程序那些事 12月日更 SOCKS5

TDS构建数据湖、数据仓库应用介绍

星环科技

陈齐彦 Roby:开源也许是中国未来IT行业最重要的统战对象 I OpenTEKr 大话开源 Vol.1

OpenTEKr

大话开源

react源码解析16.concurrent模式

buchila11

React React Hooks

[Pulsar] 消息从Broker到Consumer的历程

Zike Yang

Apache Pulsar 12月日更

学习心得 - 架构训练营 - 毕业设计项目

Fm

quarkus微服务+istio+k8s云原生devops持续集成演示( Tekton(ci/cd) + quarkus + harbor + Nexus)

weir威尔

Kubernetes istio 持续集成 Tekton Quarkus

全面适配DPDK 20.11,DPVS发布v1.9.0版本

爱奇艺技术产品团队

异构组网如何解决共享资源冲突?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

聊聊工作界面

Justin

工作效率 沟通 28天写作 沟通界面

Git进阶(九):Git 命令实现提交指定文件

No Silver Bullet

git 12月日更

react源码解析15.scheduler&Lane

buchila11

React React Hooks

node服务端渲染

编程江湖

node.js 大前端

模块七作业

bob

「架构实战营」

极客时间算法训练营 Week03

jjn0703

如何查看Java进程和线程

李子捌

28天写作 JAV A 12月日更

瞰源 | 当我们谈论开源时,我们在谈论什么?

OpenTEKr

狄安瞰源

分布式系统中,权限设计实践

架构 分布式 权限设计

Java 开发中常见的 10 个错误

编程江湖

JAVA开发 java编程

架构训练营 模块五 作业

dog_brother

「架构实战营」

Flutter 自定义 ACERaido 单选框 & ACECheckBox 复选框

阿策小和尚

28天写作 内容合集 签约计划第二季 12月日更

大厂算法面试之leetcode精讲21.树

全栈潇晨

算法 LeetCode

深度解读|Spark 中 CodeGen 与向量化技术的研究

Kyligence

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