跳至内容

如何使用 BGP 社区影响从 AWS 到我的网络的 Direct Connect 链接上的首选路由路径?

2 分钟阅读
0

我想使用边界网关协议(BGP)社区来影响从 AWS 到我的网络的 AWS Direct Connect 链接上的首选路由路径。

简短描述

要配置私有和中转虚拟接口以确定 AWS 将流量路由到您网络采用的接口优先级,请使用 AS_PATH 属性。Direct Connect 还支持本地优先级 BGP 社区标签,以控制私有和中转虚拟接口上流量的路由优先级。

**注意:**AWS 路由器在评估 AS_PATH 属性之前会评估本地首选项 BGP 社区标签。

解决方法

应用社区标签并添加 AS_PATH 属性作为前缀

Direct Connect 支持以下本地优先级 BGP 社区标签:

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

Direct Connect 按优先级从低到高的顺序评估本地优先级 BGP 社区标签

要使用社区标签和 AS_PATH 属性,请执行以下操作:

  • 对于您通过 BGP 会话播发的每个前缀,添加一个社区标签以显示返回流量所使用的关联路径的优先级。
  • 当您从本地路由器向 AWS 播发时,在前缀前添加额外的 AS_PATH 属性。Direct Connect 会为返回流量优先选择 AS_PATH 属性最少的路径。

例如,您有虚拟接口 A 和 B,并且您正在向 AWS 播发前缀 10.10.10.0/24 和 10.20.20.0/24。要使虚拟接口 A 成为流向网络 10.10.10.0/24 的首选路由路径,请在 BGP 会话的前缀 10.10.10.0/24 上应用更高的优先级标签 7224:7300。要使虚拟接口 B 成为流向网络 10.20.20.0/24 的首选路由路径,请在 BGP 会话的前缀 10.20.20.0/24 上应用更高的优先级标签 7224:7300。

对于私有虚拟接口,如果您不使用 BGP 社区标签来指定本地优先级,则出站路由行为默认为 AWS 区域。在这种情况下,行为基于 Direct Connect 位置与起始区域的相对距离。如果花费的相对距离不相等,则自治系统 (AS) 预置无法影响路由行为。Direct Connect 会评估在预置 AS_PATH 之前花费的相对距离最短的路径。

要对多个 AWS Direct Connect 连接之间的流量进行负载均衡,请为各个连接的前缀添加相同的社区标签。

配置 AS_PATH 和 BGP 社区属性

您必须在本地路由器上配置 AS_PATH 预置和 BGP 社区标签。从本地路由器向 Direct Connect 路由器播发这些前缀。由于您可以使用任何路由设备,因此请使用特定于供应商路由器的配置。

有关为普通供应商提供的本地路由器预置 AS_PATH 的详细信息,请参阅以下文档:

有关普通供应商提供的本地路由器的 BGP 社区配置的详细信息,请参阅以下文档:

以下配置示例在 Cisco 路由器上为前缀 10.0.0.0/8 预置 AS_PATH,然后向 AWS 播发该前缀:

Router(config)#access-list 10 permit 10.0.0.0 0.255.255.255
Router(config)#route-map cisco permit 10
Router(config-route-map)#match ip address 10
Router(config-route-map)#set as-path prepend 650014 650014
Router(config-route-map)#exit
Router(config)#route-map cisco permit 20
Router(config-route-map)#exit
Router(config)#router bgp LOCAL_AS
Router(config-router)#neighbor NEIGHBOR_IP route-map cisco out
Router(config-router)#end

以下配置示例为从 Cisco 路由器向 AWS 播发添加 BGP 社区标签 7224:7300 的前缀 10.0.0.0/8:

Router(config)#access-list 10 permit 10.0.0.0 0.255.255.255  
Router(config)#route-map cisco permit 10  
Router(config-route-map)#match ip address 10  
Router(config-route-map)#set community 7224:7300  
Router(config-route-map)#exit  
Router(config)#route-map cisco permit 20  
Router(config-route-map)#exit  
Router(config)#router bgp LOCAL_AS  
Router(config-router)#neighbor NEIGHBOR_IP send-community  
Router(config-router)#neighbor NEIGHBOR_IP route-map cisco out  
Router(config-router)#end

**注意:**在前面的示例中,将 LOCAL_AS 替换为您的 AS 编号,将 NEIGHBOR_IP 替换为您的 BGP 对等体的 IP 地址。

相关信息

公共虚拟接口 BGP 社区

AWS Direct Connect 路由策略和 BGP 社区

如何使用 BGP 社区控制通过 Direct Connect 经 AWS 公共虚拟接口播发和接收的路由?

AWS 官方已更新 4 个月前