发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

搭建 Transit Gateway,轻松玩转复杂网络架构

  • 2019-09-27
  • 本文字数:3258 字

    阅读完需:约 11 分钟

AWS 的网络非常强大,提供了用户多种访问云端的方式。包括互联多个 VPC 的 VPC Peering,互联数据中心的 Direct Connect 和 VPN。而对于经常使用 AWS 网络的用户来说,如何轻松的管理复杂的网络架构,一直是每个 AWS 的网络专家关心的问题。比如说如下的网络架构,其实就是一个复杂网络模型的典型案例。



现在,如果有了 AWS Transit Gateway,网络世界就会变成这个样子。AWS Transit Gateway 到底是什么,它是如何帮助网络专家简化网络设计和配置。并且我们又如何使用 AWS Transit Gateway 开始我们的网络配置之旅。下面的文章内容会带给大家一个具体的思路。



AWS Transit Gateway 是一项服务,使客户能够将 Amazon Virtual Private Cloud (VPC) 及其本地网络连接到单个网关。随着 AWS 上运行的工作负载数量的增加,您需要能够跨多个帐户和 Amazon VPC 扩展网络,以跟上增长的速度。今天,您可以使用对等连接来连接 Amazon VPC 对。但是,如果无法集中管理连接策略,而跨多个 Amazon VPC 管理点到点连接,则可能会造成操作成本高昂且操作繁琐。对于本地连接,您需要将 AWS VPN 连接到每个单独的 Amazon VPC。当 VPC 数量增长到数百个时,此解决方案的构建可能非常耗时,也难以进行管理。


使用 AWS Transit Gateway,只需创建和管理从中央网关到网络中每个 Amazon VPC、本地数据中心或远程办公室的单个连接。Transit Gateway 就像一个中心,控制流量在所有连接的网络之间的路由方式,而这些网络就像辐条。这种轴辐式模型可显著简化管理并降低运营成本,因为每个网络只需连接到 Transit Gateway,而不是连接到所有其他网络。任何新的 VPC 都只需连接到 Transit Gateway,然后自动向连接到 Transit Gateway 的所有其他网络开放。这种易连接性使您可以随着增长轻松扩展网络。

预先准备:创建 TGW

选择 VPC 服务,找到 Transit Gateway,先创建一个 Transit Gateway 以备后续使用



创建时写上名字和描述,点击创建即可。其他选项没有特殊需求保留默认即可。



##场景一:使用 TGW 互联 region 内各个 VPC


###配置 Transit Gateway Attachment


Transit Gateway 核心概念之一:Transit Gateway Attachment。简单的理解就是你想要把什么网络资源往 TGW 上面互联,就添加一个 Attachment。



选择当前你的 TGW,选择 VPC 选项,在 VPC ID 里找到你要添加的 VPC,并且选择你要通告出去的子网。注意:一定要看好你要对外发布的子网是哪一个



检查 Transit Gateway Route Tables


Transit Gateway 核心概念之二:Transit Gateway Route Table。Transit Gateway 有自己的路由表,当一个数据包进入了 Transit Gateway 之后,Transit Gateway 会通过查询该路由表来决定该数据包如何路由。


当添加两个 VPC 作为 Transit Gateway 之后,在 Transit Gateway 的路由表中就会自动添加到这两个 VPC 的路由。



在需要互联的 VPC 中,找到相关的路由表,点击 Edit routes,将需要互联的对端 VPC 的 CIDR 添加到路由条目中,下一跳是 Transit Gateway。下图的例子就是在 172.31.0.0/16 的 VPC 路由表中添加到另一个 10.16.0.0/16 的 VPC 的路由,而下一跳就是 Transit Gateway。



可以看见在作为以上配置之后,使用 172.31.0.0/16 中的 EC2 去 ping 在 10.16.0.0/16 的 EC2,是可以 ping 通的



##场景二:使用 TGW 互联 VPN 和 VPC

配置 Transit Gateway Attachment

VPN 和 VPC 一样,也属于 TGW 的一个 attachment,所以依然还是在 TGW Attachment 处添加一个新的 attachment。注意这里的 VPN 是指的 IPSec VPN。



Attachment 的类型选择 VPN。在 VPN attachment 的细节配置中,指定要跟 TGW 使用 VPN 互联的远端路由器/防火墙地址。因为当前 TGW 仅支持使用 BGP 和对端网络进行动态路由学习,所以如果希望动态维护您的网络信息,那么选择 BGP 协议,并且配置好 BGP 的 ASN 号。当然如果您网络较为简单,那么您也可以选择静态路由来维护。这里我们选择动态路由的方式。最后在 Tunnel Options 处,我们留空,即让 AWS 来帮助我们默认生成 VPNtunnel 的 IP 和 VPN 的 Pre-share 密钥



我们在 VPC 服务页面下的 Site-to-Site VPN Connections 页面下,可以看见刚刚生成的 VPN Tunnel 信息。从页面最底部的 Tunnel Details 处,我们可以看见 TGW 作为 VPN 头端设备的外网地址及隧道 IP 地址。


配置本地路由器 IPSec 配置,以思科路由器为例

注意:如果您不是太熟悉需要配置什么内容,那么您可以在上一个页面,即 Site-to-Site VPN Connections 页面下,点击 Download Configuration,选择合适您本地的设备型号,即可下载 AWS 的推荐配置。


以下仅截出关键性配置

IPsec 相关配置:

crypto keyring keyring-vpn-0a8854e50782fb208-0
local-address 172.35.10.233
pre-shared-key address 52.76.185.43 key Cieb0p_SzeuNKuDm6oRd2gxwEmV69uz1
crypto isakmp policy 10
encr aes
hash md5
authentication pre-share
group 2
crypto isakmp policy 200
encr aes
authentication pre-share
group 2
lifetime 28800
crypto isakmp keepalive 10 10
crypto isakmp profile isakmp-vpn-0a8854e50782fb208-0
keyring keyring-vpn-0a8854e50782fb208-0
match identity address 52.76.185.43 255.255.255.255
local-address 172.35.10.233
crypto ipsec security-association replay window-size 128
crypto ipsec transform-set ipsec-prop-vpn-0a8854e50782fb208-0 esp-aes esp-sha-hmac
mode tunnel
crypto ipsec df-bit clear
crypto ipsec profile ipsec-vpn-0a8854e50782fb208-0
set transform-set ipsec-prop-vpn-0a8854e50782fb208-0
set pfs group2
复制代码


Tunnel 相关配置:


interface Tunnel1
ip address 169.254.29.78 255.255.255.252
ip tcp adjust-mss 1379
tunnel source 172.35.10.233
tunnel mode ipsec ipv4
tunnel destination 52.76.185.43
tunnel protection ipsec profile ipsec-vpn-0a8854e50782fb208-0
ip virtual-reassembly
复制代码


在路由器上查看 IPSec 的状态,是 Active 的说明 IPSec VPN 已经建立



回到 Site-to-Site VPN Connections 页面下,你可以发现 IPSec 的状态已经变成了 UP。之所以状态是 DOWN,主要原因是因为两端的 BGP Session 还未建立起来



###BGP 相关配置:


ip-172-35-10-233(config)#do sh run | s bgp
router bgp 65000
bgp log-neighbor-changes
neighbor 169.254.29.77 remote-as 64512
neighbor 169.254.29.77 timers 10 30 30
!
address-family ipv4
network 172.35.10.0 mask 255.255.255.0
neighbor 169.254.29.77 activate
neighbor 169.254.29.77 default-originate
neighbor 169.254.29.77 soft-reconfiguration inbound
exit-address-family
复制代码


再次回到 Site-to-Site VPN Connections 页面下,可以发现 VPN 的状态现在是变成了 UP,并且已经提示说 BGP Route 出现了


检查路由表:

在 Transit Gateway Route Tables 中检查从 VPN 站点传输过来的路由。可以发现如果是从 VPN 过来的,那么后面的 Resource Type 会显示是 VPN。



在路由器上查看从 BGP 传输过来的路由表,可以发现之前的两个已经互联到 TGW 上的 VPC 的 CIDR 地址段。



注意:VPN 后面的主机的路由表需要设置成到云上 VPC 网段的下一跳是这个思科的路由器,才能利用 VPN 进行云上互联

继续配置第二条 IPSec VPN 隧道做冗余:

此过程和前面的步骤一致,在此不做赘述。


云上 VPC 需要配置一条静态路由指向 TGW:

最后将 VPC 到 VPN 对端网段的路由写到自己的路由表中,下一跳指向 TGW。



使用 ping 进行对 VPN 网段和云上 VPC 的主机进行测试。可以发现通过 TGW,已经将 VPC 和 VPN 打通



作者介绍


姚远


亚马逊 AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内的应用和推广。现致力于网络和 DevOps 相关领域的研究。在加入 AWS 之前,在思科中国担任系统工程师,负责方案咨询和架构设计,在企业私有云和基础网络方面有丰富经验。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/build-transit-gateway-easily-use-complex-network-structure/


2019-09-27 16:572273
用户头像

发布了 1828 篇内容, 共 89.8 次阅读, 收获喜欢 73 次。

关注

评论

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

社招前端二面必会react面试题及答案

beifeng1996

前端 React

软件测试 | JMeter

测吧(北京)科技有限公司

测试

AIGC背后的技术分析 | 不止抠图、上色,看人工智能如何影响设计

TiAmo

AIGC AI绘画

技术同学如何快速熟悉业务

老张

系统架构 业务

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript 前端

面试官让你说说react状态管理?

beifeng1996

前端 React

性价比提升15%,阿里云发布第八代企业级计算实例g8a和性能增强型实例g8ae

云布道师

结合实例,解读华为云数字工厂信息模型配置器

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

Cloud Studio 内核升级之持续优化

CODING DevOps

DevOps 软件工程 Cloud Studio 云端IDE

软件测试 | 开源Web性能测试

测吧(北京)科技有限公司

测试

Alien Skin Eye Candy 7 for Mac汉化激活(PS眼睛糖果滤镜) v7.2.3.189

真大的脸盆

Mac Mac 软件 PS滤镜插件 特效滤镜插件

PAG动效框架源码笔记 (三)播放流程

olinone

ios android 特效

​GPT充当大脑,指挥多个模型协作完成各类任务,通用系统AutoML-GPT来了

工赋开发者社区

4.0 功能抢先看 | 读懂一个项目的研发效能 之 项目质量表现

思码逸研发效能

研发效能 项目质量

软件测试 | 认识性能测试

测吧(北京)科技有限公司

测试

软件测试 |JMeter服务器模式、重置JMeter命令

测吧(北京)科技有限公司

测试

北京.NET线下技术沙龙倒计时一天

MASA技术团队

.net MASA

TIDB General Log抓取分析神器

TiDB 社区干货传送门

管理与运维 故障排查/诊断

更高效便捷的开发体验——Cloud Studio 编辑器命令行工具

CODING DevOps

软件工程 研发效能 Cloud Studio 在线编辑

Cloud Studio 云端开发保障企业源代码安全

CODING DevOps

软件工程 代码安全 Cloud Studio

技术干货|如何利用 ChunJun 实现数据离线同步?

袋鼠云数栈

开源

2023我的前端面试小结

loveX001

JavaScript 前端

软件测试 | 配置JMeter

测吧(北京)科技有限公司

测试

文档还能这么写?GreptimePlay 邀你免费玩!

Greptime 格睿科技

数据库 云原生 时序数据库 Playground

软件测试 | 如何运行JMeter

测吧(北京)科技有限公司

测试

九大核心专题,630页内容,肝了23天吃透,我收割了6个Java岗offer

程序知音

java面试 java架构 Java进阶 后端技术 Java面试八股文

工赋开发者社区 | Gartner发布2023年十大数据和分析趋势

工赋开发者社区

众筹一个标题,救救孩子!被选中的包食宿来参加奇妙敏捷之旅·青岛站!

禅道项目管理

敏捷 敏捷实践

上海丨阿里云 Serverless 技术实战营邀你来玩!

阿里巴巴云原生

阿里云 Serverless 云原生

技术改变一切,实现企业数字化演变

智达方通

全面预算管理

共享电动车生产批发厂家怎么找

共享电单车厂家

共享电动车厂家 共享电单车厂商 共享电动车生产

搭建 Transit Gateway,轻松玩转复杂网络架构_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章