首页 文章 精选 留言 我的

精选列表

搜索[第二期热点征文-编程语言],共10011篇文章
优秀的个人博客,低调大师

【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之间不能进行数据访问

优秀的个人博客,低调大师

Snow 编程语言 v0.3.0 发布

更新内容 新特性 支持一元逻辑取反 !x 支持一元数值取反 -x 比较运算符(>, <, >=, <=, ==, !=)统一返回 boolean 完善 AST JSON 序列化输出 修复 解决 LXorCommand 可能被截断的问题 补齐 end function 后的空行,防止解析异常 修正取反运算的类型推断错误 消除自我赋值时的冗余移动指令 重构 核心实体类改为 Java record 清理未使用的模式变量 如遇到使用问题,欢迎及时 提交 Issue

优秀的个人博客,低调大师

Snow 编程语言 v0.2.0 发布

更新内容 Bug 修复 - 修正比较运算映射时误用 IC_EQ 的问题,已改为 IC_E - 将 loop 语句和 if 语句中原本使用 int 表示条件的方式,统一改为 boolean 新功能 - 增加 boolean 基础类型支持 - 实现对布尔变量的声明与赋值的完整支持 - 新增 TypeUtils 工具类,提供静态方法 isLogic(Type t) 用于判断是否为逻辑类型 - 增加 Playground 示例,方便快速上手与测试 构建 - Linux使用 musl-gcc 工具链构建静态原生可执行文件 如有问题欢迎反馈。 新建 Issue

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册