

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

# 网络连接
<a name="networking"></a>

 Outpost 部署依赖于与其锚 AZ 的弹性连接，从而使管理、监控和服务操作正常运行。您应该配置本地网络，为每个 Outpost 机架提供冗余的网络连接，并提供与 AWS 云中锚点的可靠连接。此外，还要考虑在 Outpost 上运行的应用程序工作负载以及与之进行通信的其他本地系统和云系统之间的网络路径 – 您要如何在网络中路由这些流量呢？ 

**Topics**
+ [网络连接](network-attachment.md)
+ [锚连接](anchor-connectivity.md)
+ [应用程序/工作负载路由](applicationworkload-routing.md)

# 网络连接
<a name="network-attachment"></a>

 每个 AWS Outposts 机架都配置了名为 Outpost 网络设备 (ONDs) 的冗余 top-of-rack交换机。每个机架中的计算和存储服务器都与两者相连 ONDs。您应该将每个 OND 连接到数据中心中一台名为客户网络设备 (CND) 的单独交换机，以便为每个 Outpost 机架提供不同的物理和逻辑路径。 ONDs 使用光纤电缆和光学收发器通过一个或多个物理连接连接到您 CNDs 的。[物理连接](https://docs.aws.amazon.com/outposts/latest/userguide/local-network-connectivity.html#physical-connectivity)是在逻辑[链路聚合组（LAG）链路](https://docs.aws.amazon.com/outposts/latest/userguide/local-network-connectivity.html#link-aggregation)中配置的。

![\[具有冗余网络连接的多机架 Outpost 的示意图\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/multi-rack-outpost.png)


 OND 到 CND 的链路始终在 LAG 中配置，即使物理连接是单根光纤电缆也是如此。若将链路配置为 LAG 组，则可以通过向逻辑组添加其他物理连接来增加链路带宽。将 LAG 链路配置为 IEEE 802.1q 以太网中继，以便实现 Outpost 和本地网络之间的网络隔离。

 每个 Outpost 都有至少两个逻辑上隔离的网络，这些网络需要与客户网络进行通信或跨客户网络进行通信：
+  **服务链接网络** — 将服务链路 IP 地址分配给 Outpost 服务器，并促进与本地网络的通信，从而允许服务器重新连接到该区域的 Outpost 锚点。当您在单个逻辑 Outposts 中有多个机架实现时，您需要为每个机架分配一个 Service Link /26 CIDR。
+  **本地网关网络**：通过 Outpost 本地网关（LGW）实现 Outpost 上的 VPC 子网与本地网络之间的通信。

 这些隔离的网络通过一组 [point-to-point IP 连接](https://docs.aws.amazon.com/outposts/latest/userguide/local-network-connectivity.html#network-layer-connectivity)通过 LAG 链路连接到本地网络。每个 OND 到 CND LAG 链路都配置了 VLAN IDs、 point-to-point（/30 或 /31）IP 子网，以及每个隔离网络（服务链路和 LGW）的 eBGP 对等连接。您应该将 LAG 链路 point-to-point VLANs 及其子网视为第 2 层分段、路由的第 3 层连接。路由的 IP 连接可提供冗余的逻辑路径，有利于 Outpost 上的隔离网络与本地网络之间的通信。

![\[显示服务链路对等关系的示意图\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/service-link-peering.png)


![\[本地网关对等的示意图\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/page-20-local-gateway-peering.png)


 您应该终止直接连接的 CND 交换机上的第 2 层 LAG 链路（及其链路 VLANs），并在 CND 交换机上配置 IP 接口和 BGP 对等连接。您不应在数据中心交换机 VLANs 之间架起延迟。有关更多信息，请参阅《AWS Outposts 用户指南》**中的[网络层连接](https://docs.aws.amazon.com/outposts/latest/userguide/local-network-connectivity.html#network-layer-connectivity)。

 在逻辑多机架前哨基地内， ONDs 它们以冗余方式互连，从而在机架和服务器上运行的工作负载之间提供高度可用的网络连接。 AWS 负责前哨基地内的网络可用性。

## 不使用 ACE 进行高可用性网络连接的推荐做法
<a name="recommended-practices-for-highly-available-network-attachment-no-ace"></a>
+  将 Outpost 机架中的每台 Outpost 网络设备（OND）连接到数据中心中的独立客户网络设备（CND）。
+  终止直接连接的客户网络设备 (CND) 交换机上的第 2 层链路 VLANs、第 3 层 IP 子网和 BGP 对等连接。请勿在本地网络 VLANs 之间 CNDs 或通过本地网络将 OND 桥接到 CND。
+  向链路聚合组 (LAGs) 添加链路，以增加前哨基地和数据中心之间的可用带宽。不要依赖通过两者的不同路径的总带宽 ONDs。
+  使用通过冗余 ONDs 的不同路径在 Outpost 网络和本地网络之间提供弹性连接。
+ 为了实现最佳冗余并允许无中断的 OND 维护，我们建议客户按以下方式配置 BGP 通告和策略：
  + 客户网络设备应在不更改 BGP 属性的情况下从 Outpost 接收 BGP 通告，并在需要维护时启用 BGP multipath/load-balancing to achieve optimal inbound traffic flows (from customer towards Outpost). AS-Path prepending is used for Outpost BGP prefixes to shift traffic away from a particular OND/uplink。客户网络应首选 Outpost 中 AS-Path 长度为 1 的路由，而不是 AS-Path 长度为 4 的路由，也就是说，应对 AS-Path 前置作出反应。
  + 客户网络应在 Outpost 中向所有人通告具有相同属性的相等 BGP 前缀 ONDs 。默认情况下，Outpost 网络负载会均衡所有上行链路之间的出站流量（流向客户）。如果需要维护，可在 Outpost 端使用路由策略，以将流量从特定的 OND 转移出去。要执行此流量转移并以无中断的方式进行维护，客户端 ONDs 都需要使用相同的 BGP 前缀。当客户的网络需要维护时，我们建议使用 AS-Path 前置，以将来自特定上行链路或设备的流量暂时转移出去。

## 使用 ACE 进行高可用性网络连接的推荐做法
<a name="recommended-practices-for-highly-available-network-attachment-with-ace"></a>

对于具有四个或更多计算机架的多机架部署，您必须使用聚合、核心、边缘 (ACE) 机架，它将充当网络聚合点，以减少与本地网络设备的光纤链路数量。ACE 机架提供与每个 Outposts 机架 ONDs 中的连接，因此 AWS 将拥有和 ACE 网络设备之间的 VLAN 接口分配 ONDs 和配置。

无论是否使用 ACE 机架，服务链路和本地网关网络仍然需要隔离的网络层，ACE 机架的目标是为每个隔离的网络提供 VLAN point-to-point（/30 或 /31）IP 子网和 eBGP 对等互连配置。建议的架构应遵循以下两种架构中的任何一种：

![\[双客户网络设备\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/page-22-two-customer-networking-devices.png)

+ 使用此架构，客户应有两台网络设备 (CND) 来互连 ACE 网络设备，从而提供冗余。
+ 对于每个物理连接，您都必须启用 LAG（以增加 Outpost 和数据中心之间的可用带宽），即使它是单个物理端口，并且它将传输两个网段，有 2 point-to-point VLANs （/30 或 /31），以及和之间的 eBGP 配置。 ACEs CNDs
+ 在稳定状态下，流量将在启用等价多路径 (ECMP) 模式平衡后进行负载to/from the customer network from the ACE layer, 25% traffic distribution across the ACE to customer. In order to allow this behavior, the eBGP peering’s between ACEs and CNDs must have BGP multipath/load平衡，并在 4 个 eBGP 对等连接上宣布具有相同 BGP 指标的客户前缀。
+ 为了实现最佳冗余并允许无中断的 OND 维护，我们建议客户遵循以下建议：
  + 客户网络设备应在 Outpost ONDs 中向所有设备通告具有相同属性的相等 BGP 前缀。
  + 客户网络设备应在不更改 BGP 属性的情况下从 Outpost 接收 BGP 通告，并启用 BGP 多路径/负载平衡。

![\[四用户网络设备\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/page-23-four-customer-networking-devices.png)


使用此架构，客户将有四个网络设备 (CND) 用于互连 ACE 网络设备，从而提供冗余和相同的网络逻辑 VLANs，包括适用于 2 CND 架构的 eBGP 和 ECMP。

# 锚连接
<a name="anchor-connectivity"></a>

 O [utpost 服务链接](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html)连接到 Outpost 父区域中特定可用区 (AZ) 中的公共锚点或私有锚点（不能两者兼而有之）。前哨服务器启动从其服务链接 IP 地址到锚点 AZ 中锚点的出站服务链接 VPN 连接。这些连接使用 UDP 和 TCP 端口 443。 AWS 负责区域内锚点的可用性。

 您必须确保 Outpost 服务链接 IP 地址可以通过您的网络连接到锚点 AZ 中的锚点。服务链接 IP 地址无需与本地网络上的其他主机通信。

 公共锚点位于该地区的[公有 IP 范围](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)（在 EC2 服务 CIDR 块中），可以通过互联网或 [AWS Direct Connect](https://aws.amazon.com/directconnect/)（DX）公共虚拟接口（）进行访问（VIFs）。使用公共锚点可以更灵活地选择路径，因为服务链路流量可以通过任何可以成功到达公共互联网上的锚点的可用路径进行路由。

 私有锚点支持您使用自己的 IP 地址范围进行锚连接。私有锚点是使用客户分配的 IP 地址在[专用 VPC 内的私有子网](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html#private-connectivity)中创建的。VPC 是在拥有 Outpost 资源的中创建的，您负责确保 VPC 可用且配置正确。 AWS 账户 [在 Organizations 中 AWSOrigamiServiceGateway 使用安全控制策略 (SCP) 来防止用户删除该虚拟私有云 (VPC)。必须使用 Direct Connect private 访问私有锚点。 VIFs](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-outposts-private-connectivity/)

 您应该预置 Outpost 与区域内锚点之间的冗余网络路径，同时在多个位置的独立设备上终止连接。动态路由的配置应可实现以下功能：在连接或网络设备出现故障时，自动将流量重新路由到备用路径。您应该预置充足的网络容量，以确保一条 WAN 路径的故障不会使剩余路径不堪重负。

 下图显示了三个Out AZs posts，这些Outposts具有通往其锚点的冗余网络路径 AWS Direct Connect 以及公共互联网连接。Outpost A 和 Outpost B 锚定到同一区域的不同可用区。Outpost A 连接到区域 1 的 AZ 1 中的私有锚点。Outpost B 连接到区域 1 的 AZ 2 中的公有锚点。Outpost C 连接到区域 2 的 AZ 1 的公有锚。

![\[该图显示了与 AWS Direct Connect 公共互联网接入的高可用性锚点连接\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/highly-available-anchor-connectivity.png)


 Outpost A 有三条冗余网络路径可以访问其私有锚点。其中两条路径通过单个 Direct Connect 位置的冗余 Direct Connect 线路实现。第三条路径通过位于另一个 Direct Connect 位置的 Direct Connect 线路实现。这种设计将 Outpost A 的服务链路流量保持在专用网络上，并提供路径冗余，允许任何一个 Direct Connect 电路出现故障或整个 Direct Connect 位置出现故障。

 Outpost B 有四条冗余网络路径可以访问其公有锚点。有三条路径可通过公共 VIFs 配置的 Direct Connect 电路和 Outpost A 使用的位置获得。第四条路径可通过客户广域网和公共互联网获得。Outpost B 的服务链路流量可以通过任何可以成功到达公共互联网锚点的可用路径进行路由。使用 Direct Connect 路径可以提供更稳定的延迟和更高的带宽可用性，而公有互联网路径可用于灾难恢复（DR）或带宽增强方案。

 Outpost C 有两条冗余的网络路径可以访问其公有锚点。Outpost C 部署在与 Outpost A 和 B 不同的数据中心中。Outpost C 的数据中心没有连接到客户 WAN 的专用线路。取而代之的是，数据中心有由两个不同的互联网服务提供商提供的冗余互联网连接（ISPs）。Outpost C 的服务链路流量可以通过任一 ISP 网络进行路由，以到达公共互联网上的锚点。这种设计允许灵活地通过任何可用的公共互联网连接路由服务链路流量。但是，该 end-to-end路径依赖于带宽可用性和网络延迟波动的公共第三方网络。

 前哨基地与其服务链路锚点之间的网络路径必须符合以下带宽规范：
+ 每个 Outpost 机架的可用带宽为 500 Mbps – 1 Gbps（例如，3 个机架：1.5 – 3 Gbps 可用带宽）

## 高可用性锚点连接的推荐做法
<a name="recommended-practices-for-highly-available-anchor-connectivity"></a>
+  预置每个 Outpost 与其在区域内的锚点之间的冗余网络路径。
+  使用 Direct Connect（DX）路径来控制延迟和带宽可用性。
+  确保从前哨服务链路 CIDR 块到父区域的 [EC2 IP 地址范围](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)的 TCP 和 UDP 端口 443 处于打开状态（出站）。确保所有网络路径上的端口均处于打开状态。
+ 如果您使用的是该地区的 CIDR 范围子集，请跟踪防火墙上的 Amazon EC2 IP 地址范围。
+  确保每条路径都满足带宽可用性和延迟需求。
+  使用动态路由，从而自动重定向流量以绕过网络故障。
+  测试在每条规划的网络路径上路由服务链路流量，以确保路径按预期运行。

# 应用程序/工作负载路由
<a name="applicationworkload-routing"></a>

应用程序工作负载有两条从 Outpost 传出的路径：
+ 服务链接路径：除了将 [MTU](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html#service-links) 限制为 1300 字节外，还要考虑应用程序流量将与 Outposts 控制平面流量竞争。
+ 本地网关 (LGW) 路径：请考虑客户的本地网络允许访问本地和中的 AWS 区域应用程序。

您可以配置 Outpost 子网路由表，以控制通过哪条路径访问目标网络。指向 LGW 的路由会使流量从本地网关传出并将其定向到本地网络。指向该区域服务和资源的路由（例如 Internet Gateway、NAT Gateway、Virtual Private Gateway 和 TGW）将使用[服务链接](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html)来到达这些目标。如果您在同一 Outpost VPCs 上与多个 VPC 对等连接，则两者之间的流量 VPCs 仍保留在 Outpost 上，并且不会使用返回该地区的服务链接。有关 VPC 对等的信息，请参阅 Amazon [VPC *用户指南中的 VPCs 使用 VPC* 对等连接进行连接](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)。

![\[该图显示了 Outpost 服务链接和 LGW 网络路径的可视化\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/outpost-service-link-and-lgw-network-paths.png)


 在规划应用程序路由时，应保持谨慎，考虑到正常操作和网络故障期间的有限路由和服务可用性。如果 Outpost 与区域断开连接，则服务链接路径不可用。

 您应该在 Outpost LGW 和关键本地应用程序、系统和用户之间预置不同的路径并配置动态路由。冗余网络路径允许网络绕过故障路由流量，并确保在部分网络出现故障期间，本地资源能够与 Outpost 上运行的工作负载进行通信。

 Outpost VPC 路由配置是静态的。您可以通过 AWS 管理控制台 APIs、CLI 和其他基础设施即代码 (IaC) 工具配置子网路由表；但是，在断开连接事件期间，您将无法修改子网路由表。您必须重新建立 Outpost 和区域之间的连接才能更新路由表。正常操作时使用的路由与计划在断开连接事件期间使用的路由相同。

 前哨基地上的资源可以通过服务链接和该地区的Internet Gateway（IGW）或通过本地网关（LGW）路径访问互联网。通过 LGW 路径和本地网络路由互联网流量允许您使用现有的本地 Internet 入口/出口点，与使用通往该地区的 IGW 的服务链路路径相比，延迟更低 MTUs、更高、 AWS 数据出站费用更低。

 如果应用程序必须在本地运行且需要支持通过公有互联网进行访问，则应通过本地互联网连接将应用程序流量路由到 LGW，以访问 Outpost 上的资源。

 虽然您可以用类似于配置区域内的公有子网的方式在 Outpost 上配置子网，但对于大多数使用场景来说，这可能是一种不良实操。入站互联网流量将通过进入， AWS 区域 并通过服务链接路由到前哨基地上运行的资源。

 反过来，响应流量将通过服务链路路由，然后通过互联网连接返回。 AWS 区域在流量离开区域流向 Outpost 的过程中，以及在返回流量通过区域返回并传出到互联网的过程中，这种流量模式可能会增加延迟，并且会产生数据输出费用。如果应用程序可以在区域内运行，则区域是其最佳运行位置。

 不同 VPC 资源（同一 VPC 内）之间的流量将始终由本地 VPC CIDR 路由，并由隐式 VPC 路由器在子网之间路由。

 例如，在 Outpost 上运行的 EC2 实例与该地区的 VPC 终端节点之间的流量将始终通过服务链接进行路由。

![\[通过隐式路由器进行的本地 VPC 路由的示意图\]](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/aws-outposts-high-availability-design/images/local-vpc-routing-through-implicit-routers.png)


## 应用程序/工作负载路由的推荐做法
<a name="recommended-practices-for-applicationworkload-routing"></a>
+  尽可能使用本地网关 (LGW) 路径而不是服务链接路径。
+  通过 LGW 路径路由互联网流量。
+  使用一组标准路由配置 Outpost 子网路由表，这些路由将用于正常操作和断开连接事件。
+  预置 Outpost LGW 和关键本地应用程序资源之间的冗余网络路径。使用动态路由，从而自动重定向流量以绕过本地网络故障。