

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Direct Connect 路由策略和 BGP 社区
<a name="routing-and-bgp"></a>

Direct Connect 为公共 Direct Connect 连接应用入站（来自您的本地数据中心）和出站（来自您 AWS 所在区域）的路由策略。您也可以在 Amazon 公布的路由上利用边界网关协议（BGP）社区标签，并针对您向 Amazon 公布的路由应用 BGP 社区标签。

## 公有虚拟接口路由策略
<a name="routing-policies"></a>

如果您使用 Direct Connect 访问公共 AWS 服务，则必须指定要通过 BGP 进行通告的公共 IPv4 IPv6 前缀或前缀。

下面的入站路由策略适用：
+ 您必须拥有公有前缀，而且这些前缀必须在相应的区域 Internet 注册表中进行注册。
+ 流量必须发往 Amazon 公有前缀。不支持在连接之间传递的路由。
+ Direct Connect 执行入站数据包过滤，以验证流量来源是否来自您通告的前缀。

下面的出站路由策略适用：
+ AS\$1PATH 和最长前缀匹配用于确定路由路径。 AWS Direct Connect 如果向互联网和公共虚拟接口通告相同的前缀，则建议使用更具体的路由。
+ Direct Connect 在可用时公布所有本地和远程 AWS 区域前缀，并包括来自其他 AWS 非区域接入点 (PoP) 的网络前缀（例如 Route 53）。 CloudFront 
**注意**  
 中国区域 AWS 的 IP 地址范围 JSON 文件 ip-ranges.json 中列出的前缀仅在中国 AWS 区域中公布。 AWS 
 商业区域 AWS 的 IP 地址范围 JSON 文件 ip-ranges.json 中列出的前缀仅在 AWS 商业区域中公布。 AWS 
有关 ip-ranges.json 文件的更多信息，请参阅《AWS 一般参考》**中的 [AWS IP 地址范围](https://docs.aws.amazon.com//general/latest/gr/aws-ip-ranges.html)。
+ Direct Connect 通告前缀的最小路径长度为 3。
+ Direct Connect 向知名的 `NO_EXPORT` BGP 社区通告所有公共前缀。
+ 如果您使用两个不同的公共虚拟接口从两个不同的区域通告相同的前缀，并且两者都具有相同的 BGP 属性和最长的前缀长度，则 AWS 将优先考虑主区域的出站流量。
+ 如果您有多个 Direct Connect 连接，则可以通过广告具有相同路径属性的前缀来调整入站流量的负载分担。
+ 所通告的前缀 Direct Connect 不得在连接的网络边界之外进行通告。例如，这些前缀不得包含在任何公有 Internet 路由表中。
+ Direct Connect 保留买家在 Amazon 网络中宣传的前缀。我们不会将从公有 VIF 获取的客户前缀重新公布到以下任何位置：
  + 其他 Direct Connect 客户
  + 与 AWS 全球网络对等的网络
  + Amazon 中转提供商
+ 使用公有接口时，您可以使用公有或私有 ASN。但是，有重要的注意事项：
  + 公开 ASNs：您必须拥有 ASN 并有权公布。 AWS 将验证您对 ASN 的所有权。同时支持 ASNs （1-2147483647）和做多 ASNs （1-4294967295）。
  + 私人 ASNs：您可以使用以下范围内的私 ASNs 有模式：
    + 私人 ASNs：64512-65534
    + 私募多头 ASNs：420000000000-4294967294

     但是，在向其他 AWS 客户或互联网宣传您的前缀时， Direct Connect 会将私有 AWS ASN 替换为 ASN (7224)。
  + ASN 前置：
    + 使用公有 ASN（包括 ASN 和长 ASN），前置将按预期工作，并且您的前置 ASN 将对其他网络可见。
    + 使用私有 ASN（包括 ASN 和长 ASN），当用 7224 AWS 替换您的私有 ASN 时，您所做的任何前置都将被删除。这意味着，除了在公共虚拟接口上使用私有 ASN AWS 时，预置 ASN 并不能有效影响路由决策。
+ 通过 AWS 公共虚拟接口建立 BGP 对等会话时，请使用 7224 作为自治系统编号 (ASN)，以便在侧面建立 BGP 会话。 AWS 您的路由器或客户网关设备上的 ASN 应与该 ASN 不同。您的客户 ASN 可以是 ASN（1-2147483647，不包括保留范围），也可以是长 ASN（1-4294967295，不包括保留范围）。

## 公有虚拟接口 BGP 社区
<a name="bgp-communities"></a>

Direct Connect 支持 scope BGP 社区标签，以帮助控制公共虚拟接口上流量的范围（区域或全局）和路由首选项。 AWS 将从公共 VIF 接收的所有路由视为标有 NO\$1EXPORT BGP 社区标签，这意味着只有 AWS 网络才会使用该路由信息。

### 作用域 BGP 社区
<a name="scope-bgp-communities"></a>

对于您向 Amazon 公布的公有前缀，您可以应用 BGP 社区标签，指示可以在 Amazon 网络中将您的前缀传播到多远：仅限本地 AWS 区域、一个大陆内的所有区域或所有公有区域。

#### AWS 区域 社区
<a name="bgp-region-communities"></a>

对于入站路由策略，您的前缀可以使用以下 BGP 社区：
+ `7224:9100`—本地 AWS 区域
+ `7224:9200`—一切 AWS 区域 为了一个大陆：
  + 整个北美
  + 亚太地区
  + 欧洲、中东和非洲
+ `7224:9300`—全球（所有公共 AWS 区域）

**注意**  
如果您不应用任何社区标签，则默认情况下，会向所有公共 AWS 区域（全球）发布前缀。  
标有同一社区并且带有相同的 AS\$1PATH 属性的前缀适合多路径传输。

 Direct Connect保留 `7224:1` - `7224:65535` 社区。

对于出站路由策略， Direct Connect 将以下 BGP 社区应用于其通告的路由：
+ `7224:8100`—来自与接入 Direct Connect 点 AWS 关联的同一区域的路由。
+ `7224:8200`—起源于与入 Direct Connect 点关联的同一大陆的路线。
+ 无标签：来自其他欧洲大陆的路由。

**注意**  
要接收所有 AWS 公共前缀，请不要应用任何过滤器。

不支持 Direct Connect 公共连接的社区将被移除。

### `NO_EXPORT` BGP 社区
<a name="no-export-bgp-communities"></a>

对于出站路由策略，公有虚拟接口支持 `NO_EXPORT` BGP 社区标签。

Direct Connect 还在宣传的 Amazon 路线上提供 BGP 社区标签。如果您使用 Direct Connect 访问公共 AWS 服务，则可以基于这些社区标签创建过滤器。

对于公共虚拟接口，向客户 Direct Connect 通告的所有路由都标有 NO\$1EXPORT 社区标签。

## 私有虚拟接口和中转虚拟接口路由策略
<a name="private-routing-policies"></a>

如果您使用 AWS Direct Connect 访问私有 AWS 资源，则必须指定要通过 BGP 进行通告的 IPv4 或 IPv6 前缀。上述前缀可以是公有前缀或私有前缀。

基于通告的前缀，适用以下出站路由规则：
+ AWS 首先评估最长的前缀长度。 AWS 如果所需的路由路径用于连接，则建议使用多个 Direct Connect 虚拟接口发布更具体的 active/passive 路由。有关更多信息，请参阅 [Influencing Traffic over Hybrid Networks using Longest Prefix Match](https://aws.amazon.com/blogs/networking-and-content-delivery/influencing-traffic-over-hybrid-networks-using-longest-prefix-match/)。
+ 当所需的路由路径用于 active/passive 连接并且通告的前缀长度相同时，建议使用本地优先级的 BGP 属性。 AWS 区域 使用 `7224:7200` —Medium本地偏好社区值，将每个区域设置为具有相同关联的首选[AWS Direct Connect 位置](https://aws.amazon.com/directconnect/locations/)。如果本地区域未与 Direct Connect 位置关联，则将其设置为较低的值。只有未分配本地首选项社区标签时才适用。
+ 当前缀长度和本地首选项相同时，AS\$1PATH 长度才可用于确定路由路径。
+ 当前缀长度、本地首选项和 AS\$1PATH 相同时，多出口鉴别器 (MED) 可用于确定路由路径。 AWS 不建议使用 MED 值，因为它们在评估中的优先级较低。
+ AWS 当前缀具有相同的 AS\$1PATH 长度和 BGP 属性时，使用跨多个传输或私有虚拟接口的等价多路径 (ECMP) 路由。前缀的 AS\$1PATH ASNs 中的不需要匹配。

### 私有虚拟接口和中转虚拟接口 BGP 社区
<a name="bgp-communities-private-transit"></a>

当通过 Direct Connect 私有接口或传输虚拟接口将流量 AWS 区域 路由到本地位置时，Direct Connect 位置的关联 AWS 区域 会影响 ECMP 的使用。 AWS 区域 默认情况下，首选相同关联的 Direct Connec AWS 区域 t 位置。查看 [AWS Direct Connect 位置](https://aws.amazon.com/directconnect/locations/)以识别任一 Direct Connect 位置的关联 AWS 区域 。

如果未应用本地首选项社区标签，则在以下情况下，Direct Connect 支持在两条或更多路径中，通过私有或中转虚拟接口，对 AS\$1PATH 长度和 MED 值相同的前缀应用 ECMP。
+  AWS 区域 发送流量有两条或多条来自相同关联位置的虚拟接口路径 AWS 区域，无论是在相同的主机托管设施中还是在不同的主机托管设施中。
+  AWS 区域 发送流量有两条或多条来自不在同一区域的虚拟接口路径。

有关更多信息，请参阅[如何设置 AWS 从私有或传输虚拟接口到的 Active/Active 或 Active/Passive Direct Connect 连接？](https://repost.aws/knowledge-center/direct-connect-private-transit-interface/)

**注意**  
这对 AWS 区域 从本地位置传送的 ECMP 没有影响。

要控制路由首选项，Direct Connect 支持本地首选项 BGP 社区标签，以便用于私有虚拟接口和中转虚拟接口。

#### 本地首选项 BGP 社区
<a name="local-pref-bgp-communities"></a>

您可以使用本地首选项 BGP 社区标签来实现网络传入通信的负载平衡和路由首选项。对于通过 BGP 会话公布的每个前缀，您可以应用社区标签来指示返回通信的关联路径的优先级。

以下本地首选项 BGP 社区标签受支持：
+ `7224:7100` — 低首选项
+ `7224:7200` — 中首选项 
+ `7224:7300` — 高首选项

本地首选项 BGP 社区标签是互斥的。要对位于相同或不同 AWS 区域的多个 Direct Connect 连接（主动/主动）之间的流量进行负载平衡，请在连接的前缀中应用相同的社区标签；例如，`7224:7200`（中等偏好）。如果其中一个连接失败，则系统将使用 ECMP 在剩余的主动连接之间实现流量负载均衡，无论其主区域关联如何。要支持跨多个 Direct Connect 连接（主动/被动）的失效转移，请对主要或主动虚拟接口的前缀应用具有高首选项的社区标签，并对备份或被动虚拟接口的前缀应用具有低首选项的社区标签。例如，将主要虚拟接口或主动虚拟接口的 BGP 社区标签设置为 `7224:7300`（高首选项），将被动虚拟接口的 BGP 社区标签设置为 `7224:7100`（低首选项）。

本地首选项 BGP 社区标签将在任何 AS\$1PATH 属性之前进行评估，并且按照从最低到最高首选项（优先选择最高首选项）的顺序进行评估。