写点什么

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

评论

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

惊喜来袭!253页全彩免费电子书《Python 编程参考》正式上线发布

穿甲兵

Python redis 程序设计 Go 语言

使用Apollo升级一下yml文件管理和发布

Sky彬

springboo

dubbo-go 白话文 | 从零搭建 dubbogo 和 dubbo 的简单用例

阿里巴巴云原生

Java 云原生 dubbo 中间件 dubbogo

热情空前,家长纷纷变身“寒假规划师”,如何抓住这波热潮?

ZEGO即构

AI 在线教育 在线课堂

是找茬?还是装B?阿里面试每轮必问的“Spring Boot”意义何在?

比伯

Java 编程 架构 面试 计算机

Kubernetes安装篇(上):基于Minikube方式部署本地环境

xcbeyond

Kubernetes 安装 minikube 28天写作 Kubernetes从入门到精通

给跨专业程序员的一些建议

Ryan Zheng

架构师训练营第八周作业

zamkai

《我想进大厂》之分布式事务篇

艾小仙

Java 面试 后端

SpringCloud 从入门到精通 12---Nacos配置中心

Felix

阿里架构师深入讲解Android开发!教你一种更清晰的Android架构!BAT大厂面试总结

欢喜学安卓

android 程序员 面试 移动开发

新年Flag 中奖名单公布|如何科学的从55人中随机选出11个中奖名额

InfoQ写作社区官方

话题讨论 热门活动

基于gRPC的注册发现与负载均衡的原理和实战

万俊峰Kevin

微服务 go-zero Go 语言

阿里巴巴2021年最新开源十亿级Java高并发系统设计手册

Java架构追梦

Java 阿里巴巴 架构 并发 系统架构设计手册

盘点2020 | 百度AI的2020

百度大脑

盘点2020

案例集锦|科技赋能,华为云GaussDB助千行百业数字化转型

华为云开发者联盟

数据库 华为云 企业应用

安装Android系统 missing operating system

mengxn

android

架构师 3 期 3 班 -week8- 作业

zbest

作业 week8

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

996小迁

Java 架构 面试 springboot SpringCloud

限量!阿里甩出878页性能优化笔记阿里甩出878页性能优化笔记!

Java架构之路

Java 程序员 架构 面试 编程语言

iOS音视频--视频合集

程序员 音视频 OpenGL ES GPUImage Metal

WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba

阿里云CloudImagine

阿里云 WebRTC 视频云

从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程

JackJiang

网络编程 高并发 协程 高性能 即时通讯

有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知

Java架构之路

Java 程序员 架构 面试 编程语言

云原生 DevOps 的 5 步升级路径

阿里巴巴云原生

Serverless 容器 DevOps 微服务 云原生

怎么提升写代码的能力

阿里巴巴云原生

程序员 个人成长 方法论 云原生 自我思考

我所认为的产品经理能力模型

day day up

COCO聊天挖矿系统开发|COCO聊天挖矿软件APP开发

系统开发

2020中国ToB独角兽:估值逆势起飞,寡头效应加剧

ToB行业头条

阿里架构师经验分享!Android面试知识点总结宝典助你通关!顺利通过阿里Android岗面试

欢喜学安卓

android 程序员 面试 移动开发

【有奖调研】中国人工智能开发者调研

百度大脑

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