介绍通过直接 VPC 路由实现多个 Outposts 之间的 VPC 内通信 计算博客
多个 Outposts 之间的内部 VPC 通信及直接 VPC 路由
作者:Macey Neff,发表于 2023 年 8 月 30 日
关键点总结
今天,我们宣布支持在多个 Outposts 之间进行内部 VPC 通信。通过 Outpost 本地网关,用户现在可以灵活地在同一 VPC 内的不同子网之间添加路由,从而实现高可用性和低延迟的应用程序架构。这个新特性使得不同 Outposts 的资源可以通过本地网络进行有效通信,不再需要分散在多个 VPC 中。
这篇博客文章由混合边缘领域的解决方案架构师 Jared Thompson 撰写。
今天,我们宣布 AWS Outposts rack 支持多个 Outposts 之间的内部 VPC 通信。您现在可以在 Outposts rack 的子网路由表中添加路由,通过 Outpost 本地网关LGW转发同一 VPC 内的子网流量。LGW 使得您的 Outpost 子网与本地网络之间的连接成为可能。通过此增强功能,您可以通过本地网络在 Outposts 之间建立内部 VPC 实例之间的 IP 通信,使用 直接 VPC 路由。
这一增强功能使您能够为本地应用程序架构高可用性,同时通过减少在同一 VPC 上但运行于不同 Outposts 的应用组件之间的延迟,提升应用程序性能。
本文将阐述如何利用多个 Outposts 之间的内部 VPC 通信,基于 直接 VPC 路由 为您的本地应用程序和服务构建类多可用区MultiAZ的架构。
在进入细节之前,澄清几个概念:Outposts rack 是 AWS Outposts 服务家族的 42U 形式。Outpost 是在客户场所部署的一组 AWS 计算和存储能力。一个 Outpost 可以由一个或多个在该场所连接的机架组成。
概述
在今天的公告之前,运行在多个 Outposts 上的应用程序和服务如果位于同一 VPC 中且 Outpost 配置为使用直接 VPC 路由,则无法相互通信。为了解决这个局限性,必须将工作负载分散到多个 VPC 中,并将每个 VPC 与一个单独的 Outpost 对齐,或者配置 Outpost 本地网关路由表为 客户拥有的 IP (CoIP) 模式。这种限制的原因是:位于同一 VPC 的两个子网之间的流量由于服务链接被阻断,无法在区域内相互通信。请参见以下图示 1
为了说明在此之前是如何工作的,假设我们的 VPC CIDR 范围为 107700/16,并希望使用本地网关路由 1077110/24:
在尝试应用此更改时,我们会收到以下错误消息:
目标CIDR块 1077110/24 等于或更具体于该VPC的CIDR块之一。此路由仅可目标为接口或实例。

由于我们无法指定更具体的路由,因此无法在这些子网之间进行路由。
图示 1 在此功能推出之前,您无法发送流量到本地网关,因为无法设置比 VPC 的 CIDR 范围更具体的路由
现在,通过内部 VPC 通信,您可以定义比本地 VPC CIDR 范围更具体的路由,并以本地网关作为目标。这使得您可以通过 Outpost 的本地网关在同一 VPC 内将流量从一个子网定向到另一个子网。见图示 2
图示 2 同一 VPC 中的两个 Outpost 机架可以配置为通过 Outpost 本地网关进行通信
具备此功能后,您可以在边缘设计高度可用的架构,利用多个 Outpost 机架,无需使用多个 VPC。
让我们来一看看如何操作!
在这个示例中,我们假设 VPC CIDR 为 107700/16,Outpost A 的子网 CIDR 为 107770/24 ,而 Outpost B 的子网 CIDR 为 1077110/24。默认情况下,这些机架上的资源不会相互通信,因为每个 VPC 内路由表的默认本地路由设置为 107700/16。如果流量在另一个 Outpost 上,那么流量将被阻止,因为 服务链接 流量无法通过区域进行传递。我们将通过本地基础设施路由此流量。见图示 3
图示 3 我们的示例环境的外观。注意,我们有一个 VPC 和两个 Outpost 子网
为了这个示例,我们假设客户 WAN见图示 3已经设置为路由 Outpost A 和 Outpost B 子网之间的流量。有关更多信息,请参见 AWS Outpost 文档中的 本地网关 BGP 连接。此外,我们还需确保我们的本地网关路由表处于 直接 VPC 路由模式。
假设我们希望 实例 A (1077788/24) 能够访问 实例 B (107711119)。我们将尝试 ping: 可以看到,我们的 ping 没有成功。由于这两个子网位于两个不同的 Outposts,我们需要配置子网之间的路由,通过内部 VPC 通信以及直接 VPC 路由将流量相互连接。
为了启用这两个私有子网之间的流量,我们需要配置路由表,以通过 Outpost 本地网关定向流量到相邻的 Outpost 子网,允许流量在您的本地网络基础设施之间进行流动。我们需要指定比默认 VPC CIDR 范围更具体的路由。
为此,我们需要将我们的 VPC 与每个 Outpost 的本地网关路由表关联。在控制台中,导航到 AWS Outposts / 本地网关路由表。找到与每个 Outpost 相关联的本地网关路由表,转到 VPC 关联 选项卡,并选择 关联 VPC。现在这些 VPC 与本地网关路由表关联后,我们可以配置这些子网的路由表,将目标定向到 Outpost 本地网关。对 Outpost Rack A 的 107770/24 子网,我们将向其路由表添加到另一个子网 1077110/24 的路由。其中一个目标选项为 Outpost 本地网关:
选择此选项将弹出两个选项,分别对应各自的本地网关。请确保选择适合 Outpost A 的本地网关 ID,这里是 lgw008e7656cf09c9c21。
对于我们的 1077110/24 子网,执行相同的操作,设置目标为 107770/24,并选择 Outpost Rack B 的本地网关 ID :现在我们已经更新了路由,让我们再次尝试 ping。
成功!我们现在能够通过本地网关访问另一个实例。这是因为我们在 Outposts 子网中的路由表将流量转发到本地网关,利用我们的本地网络基础设施构成通信的支柱。
可用性
通过直接 VPC 路由在多个 Outposts 之间实现内部 VPC 通信在所有 支持 Outposts rack 的 AWS 区域 中均可用。您现有的 Outposts racks 可能需要更新以启用对多个 Outposts 内部 VPC 通信的支持。如果此功能无法正常工作,请 联系 AWS 支持。
安卓加速器下载结论
利用通过直接 VPC 路由在 Outposts 之间实现的内部 VPC 通信,您可以路由同一 VPC 内的子网之间的流量。该功能将允许流量通过 Outposts 本地网关与您的本地网络进行路由,无需将基础设施分散到多个 VPC 中。您可以利用这一增强功能实现本地应用程序的性能提升,同时减少运行于多个 Outposts 的应用组件之间的延迟。
与会者指南:AWS reInvent 2023 计算主题 计算博客
AWS reInvent 2023 计算主题参会指南重点摘要即将到来的 AWS reInvent 2023 是年度最大云计算盛会,提供了与其他云爱好者交流的良机,探索改变公司运作的解决方案,以及通过超过 2000 学习课程 来提升新技能。即使无法亲自参加,您仍能按需收看多个课程及实时观看主题演讲与创...
使用 Google Cloud Platform 原生工作负载身份访问 AWS 安全博客
使用 Google Cloud Platform 原生工作负载身份访问 AWS作者:Simran Singh 和 Rashmi Iyer,发表于 2023年12月22日分类:中级 (200)、多云、安全、身份与合规、技术如何做永久链接评论 分享关键要点本文展示如何通过 Google Cloud Pl...