如何通过多条线路影响到达本地的 Direct Connect 连接网络流量路径?

上次更新日期:2022 年 1 月 11 日

我想通过多条线路影响到达本地的 AWS Direct Connect 连接网络流量路径。

简短描述

您可以在不同的 AWS 区域中使用多条 Direct Connect 线路来增加带宽和高可用性。根据区域间线路的分布情况,您可以通过使用本地前缀播发边界网关协议 (BGP) 社区标签来影响 Direct Connect 流量。

多个 Direct Connect 连接的常见设置包括:

  • 在连接到同一区域中相同虚拟专用网关 (VGW) 的 Direct Connect 连接上创建的专用虚拟接口。
  • 在连接到同一 Direct Connect 网关 (DXGW) 且与任何区域中的多个 VGW 关联的 Direct Connect 连接上创建的专用虚拟接口。
  • 在连接到同一 DXGW 且与任何区域中的多个中转网关关联的 Direct Connect 连接上创建的中转虚拟接口。

解决方法

根据您的使用案例,按照以下说明来影响 Direct Connect 连接网络流量路径。

私有和中转虚拟接口的默认行为以及如何影响它

要影响默认行为,最佳做法是使用 自治系统 (AS) 路径预置和以下本地首选项 BGP 社区标签:

  • 7224:7100 – 低优先级
  • 7224:7200 – 中优先级
  • 7224:7300 – 高优先级

本地首选项 BGP 社区标签按从最低到最高首选项的顺序进行评估(首选最高首选项)。对于通过 BGP 会话播发的每个前缀,您可以应用社区标签来指示返回流量的关联路径的优先级。

有关更多信息,请参阅如何使用 BGP 社区来影响从 AWS 到我的网络的 Direct Connect 链路的首选路由路径?

场景 1

您在 us-east-1 区域有一个 Direct Connect 连接 (DX1),在 eu-west-1 区域有第二个连接 (DX2)。已在 DX1 和 DX2 上创建私有虚拟接口 (VIF),它们具有从本地设备播发的相同前缀。DX1 和 DX2 VIF 附带与 us-east-1eu-west-1ap-southeast-1 区域中的三个 VGW 关联的 DXGW。

如果您通过 DX1 上的 VIF 播发 BGP 标签 7224:7300,来自 us-east-1 区域 Amazon Virtual Private Cloud (Amazon VPC) 的流量将保持不变。来自 eu-west-1ap-southeast-1 区域的流量将首选 DX1,因为 BGP 社区会覆盖同一区域首选项。

如果您通过 DX1 和 DX2 上的 VIF 播发 BGP 标签 7224:7300,来自不同区域中的所有 Amazon VPC 的流量将在 DX1 和 DX2 之间进行负载平衡。这是因为 BGP 社区会覆盖同一区域首选项。

如果您通过两个 VIF 播发 BGP 标签 7224:7300,并在 DX1 上预置 AS,则来自所有区域中的所有 Amazon VPC 的流量将首选 DX2。这是因为区域首选项将被平等地覆盖。然后,AWS 将对 AS 路径长度执行验证,发现 DX2 的路径前缀短于 DX1。

如果您只通过 DX1 上的 VIF 播发一个 AS 预置,而没有 BGP 社区标签,则来自 us-east-1eu-west-1 区域中的 Amazon VPC 的流量将保持不变。来自 ap-southeast-1 区域的流量将首选 DX2。这是因为区域首选项的优先级高于 AS 路径长度。

场景 2

您在 us-east-1 区域中拥有 Direct Connect 连接 DX1 和 DX2,其中私有虚拟接口使用从本地设备播发的相同前缀。这些私有虚拟接口附带与 us-east-1eu-west-1 区域中的三个 VGW 关联的 DXGW。

如果您通过 DX1 上的 VIF 播发 BGP 标签 7224:7300,则来自 us-east-1eu-west-1 区域的流量将首选 DX1,因为 BGP 社区会覆盖同一区域首选项。

如果您同时通过 DX1 和 DX2 上的 VIF 播发 BGP 标签 7224:7300,则来自不同区域中的 VPC 的流量将保持不变。这是因为 BGP 社区会覆盖区域首选项,以进行负载平衡。

如果您通过两个 VIF 播发 BGP 标签 7224:7300,并在 DX1 上预置 AS,则来自所有区域中的 Amazon VPC 的流量将首选 DX2。这是因为区域首选项将被平等地覆盖。然后,AWS 将对 AS 路径长度执行验证,发现 DX2 的路径前缀短于 DX1。

如果您通过 DX1 上的 VIF 播发一个 AS 预置,而没有 BGP 社区标签,则来自 us-east-1eu-west-1 区域中的 Amazon VPC 的流量将要首选 DX2。这是由于 us-east-1eu-west-1 区域对于 DX2 具有相同的区域首选项和较短的 AS 路径。

场景 1 和场景 2

如果您在没有影响因素的情况下播发本地前缀,则默认的流量传出行为如下:

  • DX1 将首选来自 us-east-1 区域中的 Amazon VPC 的流量,因为它位于同一区域中。DX2 将首选来自 eu-west-1 区域中的 Amazon VPC 的流量,因为它位于同一区域中。由于 ap-southeast-1 是一个远程区域,来自 Amazon VPC 的流量将在 DX1 和 DX2 之间进行负载平衡。
  • 来自 us-east-1 区域中的 Amazon VPC 的流量将在 DX1 和 DX2 之间进行负载平衡,因为它们位于同一区域中。来自 eu-west-1 区域中的 Amazon VPC 的流量将在 DX1 和 DX2 之间进行负载平衡。

公有虚拟接口的默认行为以及如何影响它

在以下场景中,您在同一区域中有两个 Direct Connect 连接,它们使用从本地设备播发的相同公有虚拟接口和前缀。

来自 AWS 方向的传出流量将在公有 VIF 之间进行负载平衡,而不会产生任何影响因素。要影响默认行为,最佳做法是使用具有公有 ASN 的自治系统 (AS) 预置。如果您只能使用私有 ASN,则最佳做法是从首选公共 VIF 播发更具体的前缀,以便由最长的前缀匹配项来确定路由路径。

公有虚拟接口的常见非对称路由场景

您可以在 Direct Connect 中使用以下 BGP 前缀:

  • 7224:9100 – 本地 AWS 区域
  • 7224:9200 – 某个大洲的所有 AWS 区域
  • 7224:9300 – 全球(所有公有 AWS 区域)

有关更多信息,请参阅确定 BGP 社区范围

在以下场景中,您在 us-east-1 区域中有一个具有公有虚拟接口的 Direct Connect 连接。您正在通过 Direct Connect 连接和本地网络服务提供商公告具有社区标签 7224:9100 的相同本地公有前缀。

如果您正在访问 us-east-1 区域中的 Amazon Simple Storage Service (Amazon S3) 存储桶,则入站和出站流量将通过 Direct Connect 连接进行传输。

如果您正在访问 eu-west-1 区域中的 Amazon S3 存储桶,则入站流量将通过 Direct Connect 连接进行传输,而出站流量则通过本地网络服务提供商进行传输。这是因为前缀未传播至 eu-west-1 区域,导致非对称路由。

如果您正在访问 us-east-1 区域中的 Amazon S3 存储桶并且进站流量在本地使用本地网络服务提供商,则会发生非对称路由。这是因为收到相同前缀时,AWS 更喜欢通过 Direct Connect 连接而不是本地网络服务提供商发送出站流量。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?