【AWS征文】AWS网络演进
我们都知道,对于企业来讲,随着业务的发展和重点不同,对网络的实际需求也是不同的,尤其是对于公有云的网络架构,随着AWS的功能完善和发展,越来越多的网络功能得以实现。本文将结合实际案例讲述如何以及为什么从DX过渡到DX gateway的
DX时期的网络方案
企业上云绝非一蹴而就的事情,这就意味着必然存在着一个本地云与公有云共同存在的时期,这就涉及到了本地IDC与云上IDC的互通问题。因我们启用业务上云的方案较早,当时的 AWS还仅有DX的功能,通过此功能我们可以使用AWS合作伙伴专线将本地IDC与AWS连接起来。具体网络架构如下:
DX的出现,使得企业可以通过DX的private VIF或者 public VIF将企业的分支/本地IDC与AWS连接起来。而为了实现高可用性,一般不会仅建立一个DX通道,可能会采用如下冗余方案:
- 两条不同ISP的专线通过不同DX location或者DX 设备连接到AWS的方案
- 一条ISP专线,一根Internet+IPsec ***的方案
- 一条ISP专线,一根SD-WAN线路的方案
- 两根***线路的方案,(可以是Internet+IPsec ***与SD-WAN的组合)等等
而因为对线路的时延可靠性等要求,我们当时选择了第一种方案,如下所示。
DX双专线接入时,双活的实现
因AWS DX功能比较弱,无法通过AWS侧设备实现路由的选路,这就导致我们需要通过远端局点的路由控制来实现主备路径的选择,从而使得两条路径互为备份。
如果要选择ISP A的专线为主用线路,则需要如下配置:
1.在Customer GW A上,从ISP A 的EBGP邻居接收路由时,使用route-map修改local-preference的值,将local-preference设置的大于B线路的,使得IDC本地到AWS时,优选A线路。
2.同时,在Customer GW B上向B线路的EBGP邻居发布路由时,使用route-map修改AS-path属性,在AS-path后增加几个as-path,使得AWS侧接收到B线路的路由为非优选路由。
3.当然,为了切换便利性,我们可以一次性写两套A、B分别为主用线路时的route-map,通过自动化工具,实现路径的一键切换。
配置参考如下:
Customer GW A上: route-policy IN_EBGP_A permit node 10 if-match ip-prefix AWS apply local-preference 200 route-policy OUT_EBGP_A permit node 10 if-match ip-prefix LOCAL_IDC route-policy IN_EBGP_B permit node 10 if-match ip-prefix AWS route-policy OUT_EBGP_B permit node 10 if-match ip-prefix LOCAL_IDC Apply as-path 64512 64512 add Customer GW B上: route-policy IN_EBGP_A permit node 10 if-match ip-prefix AWS route-policy OUT_EBGP_A permit node 10 if-match ip-prefix LOCAL_IDC Apply as-path 64512 64512 add route-policy IN_EBGP_B permit node 10 if-match ip-prefix AWS apply local-preference 200 route-policy OUT_EBGP_B permit node 10 if-match ip-prefix LOCAL_IDC
经过一段时间的运行和实践,发现该方案有很多不足之处。比如,因DX功能限制,从ISP A学到的路由会向ISP B传递,从而导致路由环路或者专线路由条目超限的问题等。
在多次踩坑之后,痛定思痛,进行了DX到DX GW的改造。
DX Gateway是什么
先看一下没有DX gateway(以下简称DXGW)之前,如果要互联VPC是什么样的?
有了DXGW之后,又是什么样的呢?
每个DX Gateway都是跨所有公共AWS区域存在的全局对象,这就使得所有AWS区域之间可以通过网关进行所有的通信,大大减少了VIF的数量和BGP会话的数量,同时也简化了网络结构和维护成本。
更更重要的是,多了一个DXGW,相当于在DXGW侧多了一台路由器,路由多了一跳,从ISP A学到的路由再也不会默认向ISP B发布了,一劳永逸的解决了因DX功能限制而导致的路由环路和路由条目超限的问题。
DX Gateway如何实现双路径的选路?
改造为DX GW之后,双路径的主备切换和DX时保持一致,还是要通过企业本地IDC侧CE 上BGP的选路来控制的。配置同:DX双专线接入时,双活的实现。
DX Gateway的限制
当然,如此便利的DXGW也有一些限制条件,并不是任何时候都适用,限制如下:
- 关联到DXGW的VGW/VPC可以属于不同的区域,但必须属于同一个AWS账户
- VPC不能使用重复的IP地址段
- 一个DXGW最多可关联10个VIF/VGW
- 关联到同一个DXGW的private VIF之间不能进行数据访问
- 关联到同一个DXGW的VGW之间不能进行数据访问
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
助你掌握编码技能:这份激动人心的新项目清单请收好
本文转载自公众号“读芯术”(ID:AI_Discovery)。 掌握编程技能和学习任何一门技术一样,需要日积月累的持续学习。如何在日复一日的学习中增添一点新意?不如试着从新项目中找找灵感。 我推荐你将本文作为灵感来源,从清单中获取一个想法,然后开始编码。使用什么堆栈都可以,你只需完成它,然后将其推送到GitHub个人资料即可。这就是掌握编程的秘诀。 Stack Overflow问题克隆 Stack Overflow是一个服务于程序员的问答网站。为什么不试试通过构建Stack Overflow问题克隆来开始新的一天呢?这将会很有挑战性。 与JavaScript相关的Stack Overflow问题 通过构建Stack Overflow问题视图,你将学到以下内容: 表单输入验证和提交表单。 将问题和答案保存到数据库中,你可以使用任何所需数据库。 将赞成票和反对票存入数据库中。每个问题都有一个分数,你需要保存该分数。 根据分数将问题进行排序。 Medium Stats克隆 在Medium上发表的文章,你可以获得流量和访问者统计数据。 Medium stats页 在详细信息页面的顶部,你会看到...
- 下一篇
批量执行crontab指定条目的注释和解注释
前言:在日常变更过程中,变更前会注释某些定时任务(比如巡检告警等),变更完成后需恢复,有时变更操作的服务器很多,对应需要注释的crontab也很多且不相同,本文通过分发平台执行对应脚本批量实现crontab的注释和解注释功能。 环境说明: 主机名 操作系统版本 ip 用户名 备注 ansible Centos 7.6.1810 172.27.34.51 crontab测试服务器01 ansible-awx Centos 7.6.1810 172.27.34.50 crontab测试服务器02 一、crontab测试环境准备 1.主机ansible环境准备 [user_test@ansible ~]$ echo $HOME /home/user_test [user_test@ansible ~]$ crontab -l 0 0 * * * /home/user_test/bin/date > /dev/null 0 0 * * * $HOME/bin/date > /dev/null 0 0 * * * date > /dev/null * * * * * df -h...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7,8上快速安装Gitea,搭建Git服务器
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- Red5直播服务器,属于Java语言的直播服务器