+86 13541016684Mon. - Fri. 10:00-22:00

AWS Transit Gateway 概述和最佳实战

AWS Transit Gateway 概述和最佳实战

AWS Transit Gateway 概述和最佳实战

介绍

让我们使用 AWS Trasit Gateway 连接到 AWS 网络服务。

有以下四种情况。 还描述了每个的设置过程。

  • ① 连接中转网关和VPC
  • ②尝试使用 VPN 连接 Transit Gateway 和本地环境
  • ③尝试不同VPC之间的连接
  • ④尝试连接其他地域的VPC
image-831
① 连接中转网关和VPC
image-84
②尝试使用 VPN 连接 Transit Gateway 和本地环境
image-85
③尝试不同VPC之间的连接
image-86
④尝试连接其他地域的VPC

从那时起,我们将构建上面的步骤1到4。

① 连接中转网关和VPC

构成

首先,构建 Transit Gateway 并将其连接到 VPC。 之后,我们将连接到本地或连接到另一个VPC或区域,但这只是初步准备。

image-83
⓵连接中转网关和VPC

此外,虽然 Transit Gateway 连接的子网是“tyo_vpc01_1a_pri_gw_sub01”和“tyo_vpc01_1d_pri_gw_sub01”,但不会在这些子网中创建实例。 这将是 Transit Gateway 的专用子网。 原因是因为以下建议。

*以下 AWS官方博客 摘自

问:我想提供一个更具体的示例,并解释在附加 VPC 时指定的子网作为仅附加子网的必要性。 您说它会影响该子网内 EC2 实例的路由,但它会产生什么样的影响呢? 我想了解更多相关信息。
答:如果 EC2 实例与具有传输网关 (TGW) 连接的实例位于同一子网中,则该 EC2 实例引用与 TGW 相同的路由表。
例如,如果您在具有用于 VPC 内联审核的 TGW ENI 的子网上安装 EC2 实例,则该 EC2 实例将始终被吸入中间盒 ENI 中以进行内联审核,从而无法创建该实例所需的路由表。 EC2 实例将会消失。 为了防止这种情况发生,我们建议为 TGW 创建专用子网。

https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-transit-gateway-2019/

设定方法

现在让我们进入设置。

首先,从“VPC”中选择“Transit Gateway”,然后按“创建 Transit Gateway”。

image-87

输入任何名称标签并输入“亚马逊自治系统编号 (ASN)”。 这将是以后配置 BGP 时的 AS 编号。 其他设置为默认值。 输入完成后,按“创建中转网关”按钮。

image-92

验证状态是否变为可用。

image-94

接下来,将 Transit Gateway 连接到子网。 首先,选择“Transit Gateway 附件”并按“创建 Transit Gateway 附件”。

image-90

在 Transit Gateway 连接屏幕上输入以下信息。

image-91

验证状态是否变为可用。

image-95

这就是设置的全部内容。 在下一页上,使用 VPN 连接 Transit Gateway 和本地环境。

 

②尝试通过 VPN 连接 Transit Gateway 和本地环境

构成

接下来,使用您之前创建的 Transit Gateway 将本地连接到 VPN。

image-841
②尝试使用 VPN 连接 Transit Gateway 和本地环境

在施工过程中,我们将完成以下工作:

  • 创建客户网关(创建本地VPN设备的信息)
  • 从 Site-to-Site VPN 下载本地 VPN 设备的示例配置
  • 构建本地 VPN 设备
  • 将本地路由添加到 VPC 路由表
  • 将客户网关连接到您刚刚构建的 Transit Gateway

设定方法

首先,创建客户网关。 客户网关注册本地VPN设备的VPN终结IP地址。 我们的环境使用 Fortigate。

image-96
image-97

验证状态是否变为可用。

image-98

接下来,将您之前创建的客户网关附加到 Transit Gateway。

image-99
image-150

验证状态是否变为可用。

image-101

这就是AWS端的所有设置。 最后,当您查看站点到站点 VPN 时,会看到一个带有 Transit Gateway 和附加客户网关的设置,因此选择它并“下载设置”。 此设置是本地 VPN 设备的示例配置。

image-102
image-103
image-104

下载示例配置后,您需要将其放入实际机器中,但本文中我们将省略这一点。

此外,如果本地 VPN 设备可以毫无问题地设置 VPN 和 BGP,则将与 AWS 建立连接,状态将显示为“Up”,详细信息将显示为“X BGP ROUTERS”,如下所示如下所示。

image-105

我还将附上本地路由表以供参考。 *您可以看到 BGP 正在学习 VPC (tyo_vpc_01) 的 10.1.0.0/16。 (12号线路线)

FGT60D # get router info routing-table all

Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default

S*      0.0.0.0/0 [5/0] via 61.26.71.129, wan1
B       10.1.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 00:01:30
C       61.26.71.128/25 is directly connected, wan1
C       169.254.157.108/30 is directly connected, P1_AWS-vpn2-T1
C       169.254.157.110/32 is directly connected, P1_AWS-vpn2-T1
C       169.254.181.80/30 is directly connected, P1_AWS-vpn2-T2
C       169.254.181.82/32 is directly connected, P1_AWS-vpn2-T2
C       192.168.0.0/24 is directly connected, internal1


FGT60D #

最后,在应用于VPC的路由表中配置本地路由。

image-106

将本地网络路由到目标 Transit Gateway。

image-107

验证配置的路由现在是否处于活动状态。

image-108

这样就通过 Transit Gateway 完成了本地与 AWS 之间的连接。 确认从本地PC到EC2实例的traceroute成功。 (我假设没有显示 2 跳,因为它们是 VPN 隧道)

C:\Users\ktrwa>tracert -d 10.1.11.100

10.1.11.100 へのルートをトレースしています。経由するホップ数は最大 30 です

  1     4 ms     8 ms     8 ms  192.168.0.254
  2     *        *        *     要求がタイムアウトしました。
  3    12 ms    19 ms    15 ms  10.1.11.100

トレースを完了しました。

C:\Users\ktrwa>

这就是 Transit Gateway VPN 连接的全部内容。 在下一页中,我们将在不同的 VPC 之间进行连接。

 

③尝试不同VPC之间的连接

构成

接下来,通过 Transit Gateway 连接两个 VPC。

image-851
③尝试不同VPC之间的连接

在施工过程中,我们将完成以下工作:

  • 将 VPC (tyo_vpc_02) 连接到已创建的 Transit Gateway
  • 将本地路由添加到VPC(tyo_vpc_02)的路由表中

设定方法

image-152

验证状态是否变为可用。

image-113

接下来,将本地路由添加到 tyo_vpc_02 的路由表中,该路由表将成为连接目标。

image-114
image-115

验证添加的路由状态是否为Active。

image-116

如果查看本地路由表,您可以看到 tyo_vpc_02 (10.2.0.0/16) 网络是使用 BGP 获知的。 (见第 13 行)

FGT60D # get router info routing-table all

Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default

S*      0.0.0.0/0 [5/0] via 61.26.71.129, wan1
B       10.1.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 09:18:42
B       10.2.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 00:06:26
C       61.26.71.128/25 is directly connected, wan1
C       169.254.157.108/30 is directly connected, P1_AWS-vpn2-T1
C       169.254.157.110/32 is directly connected, P1_AWS-vpn2-T1
C       169.254.181.80/30 is directly connected, P1_AWS-vpn2-T2
C       169.254.181.82/32 is directly connected, P1_AWS-vpn2-T2
C       192.168.0.0/24 is directly connected, internal1


FGT60D #

我们还确认可以从本地 PC 与 tyo_vpc_02 (10.2.0.0/16) 中存在的 EC2 实例进行通信。

C:\Users\ktrwa>tracert -d 10.2.1.100

10.2.1.100 へのルートをトレースしています。経由するホップ数は最大 30 です

  1     3 ms     6 ms     5 ms  192.168.0.254
  2     *        *        *     要求がタイムアウトしました。
  3    15 ms    13 ms    18 ms  10.2.1.100

トレースを完了しました。

C:\Users\ktrwa>

至此,不同VPC之间的连接就完成了。 接下来,连接到另一个区域。

 

③尝试不同VPC之间的连接

构成

接下来,通过 Transit Gateway 连接两个 VPC。

image-852
③尝试不同VPC之间的连接

在施工过程中,我们将完成以下工作:

  • 将 VPC (tyo_vpc_02) 连接到已创建的 Transit Gateway
  • 将本地路由添加到VPC(tyo_vpc_02)的路由表中

设定方法

image-1521

验证状态是否变为可用。

image-1131

接下来,将本地路由添加到 tyo_vpc_02 的路由表中,该路由表将成为连接目标。

image-1141
image-1151

验证添加的路由状态是否为Active。

image-1161

如果查看本地路由表,您可以看到 tyo_vpc_02 (10.2.0.0/16) 网络是使用 BGP 获知的。 (见第 13 行)

FGT60D # get router info routing-table all

Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default

S*      0.0.0.0/0 [5/0] via 61.26.71.129, wan1
B       10.1.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 09:18:42
B       10.2.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 00:06:26
C       61.26.71.128/25 is directly connected, wan1
C       169.254.157.108/30 is directly connected, P1_AWS-vpn2-T1
C       169.254.157.110/32 is directly connected, P1_AWS-vpn2-T1
C       169.254.181.80/30 is directly connected, P1_AWS-vpn2-T2
C       169.254.181.82/32 is directly connected, P1_AWS-vpn2-T2
C       192.168.0.0/24 is directly connected, internal1


FGT60D #

我们还确认可以从本地 PC 与 tyo_vpc_02 (10.2.0.0/16) 中存在的 EC2 实例进行通信。

C:\Users\ktrwa>tracert -d 10.2.1.100

10.2.1.100 へのルートをトレースしています。経由するホップ数は最大 30 です

  1     3 ms     6 ms     5 ms  192.168.0.254
  2     *        *        *     要求がタイムアウトしました。
  3    15 ms    13 ms    18 ms  10.2.1.100

トレースを完了しました。

C:\Users\ktrwa>

至此,不同VPC之间的连接就完成了。 接下来,连接到另一个区域。

 

④尝试连接其他地域的VPC

构成

最后连接其他地域的VPC。

image-861
④尝试连接其他地域的VPC

在施工过程中,我们将完成以下工作:

  • 在大阪地区创建一个要连接的 Transit Gateway。
  • 在大阪区域连接中转网关和 VPC (osa_vpc_01)
  • 从东京地区的 Transit Gateway 向大阪地区的 Transit Gateway 发出对等互连请求

设定方法

构建时,首先切换到连接目的地的大阪地区,从“Transit Gateway”创建Transit Gateway。

image-143
image-118
image-119
image-144
image-121
image-122

接下来,切换到东京区域并与您之前创建的大阪区域中的 Transit Gateway 对等。

image-153
image-126

状态为待接受。 (如果您在大阪地区接受请求,则可以使用)

image-127

接下来,返回大阪地区并接受东京地区的Transit Gateway附件。

image-146
image-129

验证状态是否变为可用。

image-130

至此,东京地区和大阪地区已使用 Transit Gateway 建立对等关系。 剩下要做的唯一一件事就是设置路由。 执行以下路由设置。

  • 将本地路由添加到大阪地区VPC路由表
  • 将本地路由添加到大阪地区的 Transit Gateway 路由表
  • 将大阪地区的 VPC 路由添加到东京地区的 Transit Gateway 路由表

首先,我们设置大阪地区的路由。

image-147
image-138

接下来,将本地路由添加到 Transit Gateway 路由表中。

image-148
image-140

接下来,切换到东京区域,并在 Transit Gateway 路由表中添加大阪区域 VPC 的路由。

image-149
image-142

添加上述性路由后,该路由会发布到本地VPN设备上,可以看到它通过BGP学习到了大阪地区的VPC(10.101.0.0/16)。 (14号线路线)

FGT60D # get router info routing-table all

Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default

S*      0.0.0.0/0 [5/0] via 61.26.71.129, wan1
B       10.1.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 13:47:10
B       10.2.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 04:34:54
B       10.101.0.0/16 [20/100] via 169.254.157.109, P1_AWS-vpn2-T1, 00:05:54
C       61.26.71.128/25 is directly connected, wan1
C       169.254.157.108/30 is directly connected, P1_AWS-vpn2-T1
C       169.254.157.110/32 is directly connected, P1_AWS-vpn2-T1
C       192.168.0.0/24 is directly connected, internal1


FGT60D #

本地与大阪地区VPC通信没有问题。

C:\Users\ktrwa>tracert -d 10.101.1.100

10.101.1.100 へのルートをトレースしています。経由するホップ数は最大 30 です

  1     4 ms    12 ms     7 ms  192.168.0.254
  2     *        *        *     要求がタイムアウトしました。
  3     *        *        *     要求がタイムアウトしました。
  4     *        *        *     要求がタイムアウトしました。
  5    48 ms    18 ms    29 ms  10.101.1.100

トレースを完了しました。

C:\Users\ktrwa>

以上是关于使用 Transit Gateway 连接到另一个区域的内容。 最后我会做一个总结。

 

概括

这次,我们使用 AWS Transit Gateway 构建了以下内容并检查了实际的路由表和连接性。

最终校准的配置如下图所示,黄色区域为当前构建区域。

image-155

Transit Gateway附件如果是VPN连接的话是附加在客户网关上的,其他VPC或者其他地域的连接也是通过这个附件连接的,所以很容易理解,因为它是聚合为入口的,所以没有似乎不太可能。

另一方面,对于那些不习惯路由的人来说,路由可能看起来有点困难。 至于路由表,Transit Gateway路由表和VPC侧的路由表,VPN允许动态路由,但VPC和Region之间似乎使用静态路由。
正确地画出这个区域的配置图,以及在哪里和哪里进行通信很重要,所以这里有必要添加路由。 (这个想法本身与普通的本地网络相同。)