亚马逊AWS官方博客

利用 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 的方式来实现。

 

全球传输网络架构概览:

  1. 区域内部使用 AWS Transit Gateway 替代 VPC Peering 简化 VPC之间的互联
  2. 选取一个区域创建一个 VPC 我们称之为 Transit VPC,部署软路由(例如:Cisco CSR),各个区域内的Transit Gateway 通过 VPN 连接到 Transit VPC 实现跨区域的连接
  3. 非AWS基础设施(例如本地数据中心、远程办公室)通过专线或者VPN 方式接入AWS Transit Gateway

 

全球传输网络实施方案:

1.网络拓扑

2.实施部署

2.1 实验环境准备

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

 

Region Resources
Oregon

VPC-1

CIDR: 10.1.0.0/16

Subnet-1-1

CIDR: 10.1.1.0/24

EC2-1-1

VPC-2

CIDR: 10.2.0.0/16

Subnet-2-1

CIDR: 10.2.1.0/24

EC2-2-1

TGW

BGP ASN:65100

关联 VPC1 与 VPC2

Frankfurt

 

VPC-3

CIDR: 10.3.0.0/16

Subnet-3-1

CIDR: 10.3.1.0/24

EC2-3-1

VPC-4

CIDR: 10.4.0.0/16

Subnet-4-1

CIDR: 10.4.1.0/24

EC2-4-1

TGW

BGP 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.thinkwithwp.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 type VPN
Customer Gateway New
IP Address 章节2.2 中生成的CSR 公网IP(例如:CSR1-PublicIP)
BGP ASN 65300
Routing options Dynamic (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等外企,熟悉大型网络构建及优化,迁移上云及容灾等解决方案。