GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

利用 AWS Transit Gateway 构建全球传输网络 Global Transit Network

2019 年 9 月 25 日

利用 AWS Transit Gateway 构建全球传输网络 Global Transit Network

什么是全球传输网络 Global Transit Network?

AWS 在全球 21 个地理区域内运营着 66 个可用区,得利于 AWS 广泛的全球基础设施,企业可以快速地将业务部署到全球各地,同时出于业务需求他们往往需要将分布在全球各地的 IT 资源连接起来,通过内网实现应用程序间安全、高效的通讯。典型的应用场景有:游戏的全球同服、企业全球内部组网等。


我们将在这篇文章中描述如何利用 AWS 丰富的网络服务构建全球传输网络。



构建全球传输网络我们需要解决什么问题?

AWS 提供了丰富的网络组件和服务帮助用户灵活的构建他们的网络架构,AWS 的用户可以利用 Amazon VPC 创建多个虚拟网络,Amazon VPC 之间包括非 AWS 基础设施可以实现相互连接。


传统的做法是利用 VPC Peering 功能,将区域内或者跨区域之间的 VPC 进行连接,利用 Direct Connect 或 VPN 实现非 AWS 基础设施与 AWS 的互联。参见如下架构图:



随着 AWS 上运行的工作负载数量的增加,传统方式的管理工作将成倍增加,迫切需要提供一种集中管理链接的方案。AWS 在 2018 年 Re:Invent 推出了新的服务 AWS Transit Gateway,使用 AWS Transit Gateway,只需创建和管理从中央网关到网络中每个 Amazon VPC、本地数据中心或远程办公室的单个连接。Transit Gateway 就像一个中心,控制流量在所有连接的网络之间的路由方式,而这些网络就像辐条。这种轴辐式模型可显著简化管理并降低运营成本,因为每个网络只需连接到 Transit Gateway,而不是连接到所有其他网络。任何新的 VPC 都只需连接到 Transit Gateway,然后自动向连接到 Transit Gateway 的所有其他网络开放。这种易连接性使您可以随着增长轻松扩展网络。



AWS Transit Gateway 目前只支持单个区域内 VPC 的连接,如果需要实现跨区域的全球传输网络,我们可以借助 Transit VPC 的方式来实现。


全球传输网络架构概览:


区域内部使用 AWS Transit Gateway 替代 VPC Peering 简化 VPC 之间的互联


选取一个区域创建一个 VPC 我们称之为 Transit VPC,部署软路由(例如:Cisco CSR),各个区域内的 Transit Gateway 通过 VPN 连接到 Transit VPC 实现跨区域的连接


非 AWS 基础设施(例如本地数据中心、远程办公室)通过专线或者 VPN 方式接入 AWS Transit Gateway


全球传输网络实施方案:

1.网络拓扑


2.实施部署

2.1 实验环境准备

分别在 Oregon Region 和 Frankfurt Region 部署 VPC 实验环境,并且配置 Transit Gateway(以下简称 TGW),具体的配置如下表:


RegionResources
OregonVPC-1CIDR: 10.1.0.0/16Subnet-1-1CIDR: 10.1.1.0/24EC2-1-1
VPC-2CIDR: 10.2.0.0/16Subnet-2-1CIDR: 10.2.1.0/24EC2-2-1
TGWBGP ASN:65100关联 VPC1 与 VPC2
FrankfurtVPC-3CIDR: 10.3.0.0/16Subnet-3-1CIDR: 10.3.1.0/24EC2-3-1
VPC-4CIDR: 10.4.0.0/16Subnet-4-1CIDR: 10.4.1.0/24EC2-4-1
TGWBGP ASN:65200关联 VPC3 与 VPC4


如果不熟悉 VPC 创建和 TGW 配置请参考:



2.2 部署 Transit VPC(Cisco)

我们将在 Singapore Region 使用 CloudFormation 自动创建 Transit VPC,在本方案中我们使用 AWS Transit Gateway 来替换 VGW,所以只需要完成 步骤 1 和 步骤 2 即可。


在创建 CloudFormation 时,请注意我们这里使用 BGP ASN 为 65300 ,其它保持默认配置即可。


具体操作参考:


Transit Network VPC (Cisco CSR):


https://docs.aws.amazon.com/solutions/latest/cisco-based-transit-vpc/deployment.html


整个创建过程将在 10 分钟内完成,当 CloudFormation Stacks 状态为 Complete 时,查看 Outputs 信息,并且记录 CSR1 和 CSR2 的 Public IP 信息(以下将简称 CSR1-PublicIP, CSR2-PublicIP )。


注意:CloudFormation 模版在 N.Virginia 启动,注意手动切换到 Singapore Region。



2.3 建立 Transit Gateway 与 Transit VPC 之间的连接

步骤 1: 创建 Transit Gateway Attachments

控制台切换到 Oregon, 进入 VPC 服务,选择 Transit Gateway Attachments。


按照下表作为参数,创建两个 Transit Gateway Attachment,TGW 将分别与两个 CSR 建立 VPN 连接。


Transit Gateway ID章节 2.1 中创建的 TGW
Attachment typeVPN
Customer GatewayNew
IP Address章节2.2 中生成的CSR 公网IP(例如:CSR1-PublicIP)
BGP ASN65300
Routing optionsDynamic (requires BGP)



步骤 2: 下载并修改 VPN 隧道配置文件

在 VPC 服务控制台中,选择 Site-to-Site VPN Connections ,选中 CSR-1 点击 Download Configuration,下载 Platform 为 CSRv AMI 的模版。



用文本编辑器,打开 配置模版,替换


<interface_name/private_IP_on_outside_interface> 为 GigabitEthernet 1。



用 ssh 命令登录 CSR1(例如:ssh -i key.pem ec2-user@CSR1-PublicIP)


进入配置模式:输入 config ,粘贴所有配置模版中的内容



步骤 3: CSR 状态检查

退出配置模式: (config)# exit


检查 Key 交换状态: # show crypto isakmp sa



检查 IPSec 状态: # show crypto ipsec sa



检查 BGP 状态: # show ip bgp summary



检查路由传播:#show ip route



2.4 在 Frankfurt Region 建立 Transit Gateway 与 Transit VPC 之间的连接

在 2.3 章节中,我们介绍了在 Oregon Region 中创建 Transit Gateway 与 Transit VPC 之间的连接,接下来我们重复 2.3 章节的内容在 Frankfurt Region 执行相同配置。


注意:当执行 “章节 2.3 步骤 2: 下载并修改 VPN 隧道配置文件”,修改配置文件的时候,


需要把 interface Tunnel1 改为 interface Tunnel3,interface Tunnel2 改为 interface Tunnel4 ,不然会覆盖 Oregon Region 的配置。



保存 Cisco 配置:# copy running-config startup-config


2.5 Transit VPC 高可用 部署

参考 2.3 & 2.4 配置 CSR2 实现 Transit VPC 的高可用架构。


3.VPC 的路由策略与连通性测试

通过章节 2 的部署与配置,我们已经完成了 Transit VPC 与 两个不同 Region 之间的高可用连接。要让分布在两个 Region 之间的 VPC 能够互相通讯,我们还需要配置一下,VPC 子网的路由表,以及 安全组。


3.1 配置 VPC 子网路由表

添加一条记录 10.0.0.0/8 指向 Region 所在的 TGW



3.2 配置安全组

根据需求开放对应的协议和端口即可。


3.3 连通性测试

从 VPC-3(Frankfurt Region)EC2 Ping VPC-1 (Oregon Region)EC2



至此,本次部署完成,您可以参考本教程,把跨账户、跨 Region、甚至是本地机房通过专线 接入 Transit VPC 完成全球传输网络的部署。


作者介绍:


高寅敬


AWS 解决方案架构师,负责基于 AWS 云计算方案架构的咨询和设计,在国内推广 AWS 云平台技术和各种解决方案。在加入 AWS 之前就职于美国虚拟运营商,超过 10 年的互联网通信应用系统开发和架构经验。超过 7 年的 AWS 技术实践经验, 精通基于 AWS 全球分布式 VoIP 系统的开发、运营及部署,深度理解 AWS 核心的计算、网络、存储以及云计算的弹性伸缩,目前专注于移动互联网应用及物联网解决方案设计。


刘天龙


AWS 解决方案架构师,负责支持客户完成各种 Workload 在 AWS 上的架构设计,加入 AWS 之前先后服务于运营商、电力等大型企业,以及 Microsoft 和 Citrix 等外企,熟悉大型网络构建及优化,迁移上云及容灾等解决方案。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/use-aws-dms-mongodb-amazon-aurora/


2019 年 9 月 25 日 17:00280
用户头像

发布了 1238 篇内容, 共 31.9 次阅读, 收获喜欢 34 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟

图灵社区

游戏开发 游戏制作 世嘉培训教材

地铁上看书的老外引发的思考

小天同学

写作 读书 个人感想 日常思考

做好领路人——写给技术新人的导师建议

南方

管理 新人

重学 Java 设计模式:实战原型模式

小傅哥

Java 设计模式 小傅哥 复杂代码优化 重构

为什么第三方联调应该先行?

大伟

券商也“网红”,证券行业IT服务运维发展按下“快进键”

博睿数据

运维 APM 证券 券商 行情

一款开源且具有交互视图界面的实时 Web 日志分析工具!

JackTian

开源 GoAccess 实时 Web 日志分析工具 交互式查看器

Python deepcopy一个优化

么么哒

Python

关于软件测试的三点思考

卓然

软件测试 测试 测试的价值 联现技术咖

写给产品经理的信(5):谈谈项目管理(青铜-王者)

夜来妖

产品 极客时间,项目管理 项目管理 产品经理 项目

互联网省份数据大揭秘,看看哪些地方是互联网的戈壁滩?

非著名程序员

程序员 互联网 IT

“新基建”方兴未艾,Smartbi Mining如何为产业数字化转型赋能?

infoq小陈

这场大数据+AI Meetup,一次性安排了大数据当下热门话题

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

探索 Go 语言数据类型的内部实现

TuringTuring

golang 内存模型 高效

团队与领导力健康检查 | 体检表

Bob Jiang

团队建设

自定义构造python白名单__builtins__

么么哒

Python

写代码没几天,遇到一堆报错,我该怎么办

刘早起😶

Python 程序人生 程序员成长

如何设计数据中台

数据社

大数据 数据中台 数据仓库

Server Queue 提高 QPS

风含叶

Python kafka 后端 队列

HTML中实现合并单元格

JDoe

html

偏头疼告诉我的,我想告诉每一个人

zkback

最香远程开发解决方案!手把手教你配置VS Code远程开发工具,工作效率提升N倍

程序员柠檬

Linux 后台开发 vscode 后端

git | IDEA 中如何压缩提交(压缩commit后再push 图文演示)

YoungZY

开发者工具 IDEA 开发工具

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十一)JUnit概述

编程道与术

Java 编程 软件测试 TDD 单元测试

机器学习项目是如何开发和部署的?

陆道峰

人工智能 学习

python实现·十大排序算法之基数排序(Radix Sort)

南风以南

Python 排序算法 基数排序

GitHub 上十个好用的软件

彭宏豪95

GitHub 效率 工具

游戏夜读 | 改写图形API的意义

game1night

“Plus Token”传销主犯被公诉!警惕,区块链不是“取款链”!

CECBC区块链专委会

1024讲话 CECBC 区块链技术 人才发展 培训

前端工程化之创建项目

春生

前端 前端工程 前端架构 全栈工程师

为什么要学习 Markdown?究竟有什么用?

JackTian

markdown markdown语法 markdown编辑器

DNSPod与开源应用专场

DNSPod与开源应用专场

利用 AWS Transit Gateway 构建全球传输网络 Global Transit Network-InfoQ