AWS Outposts 的工作原理
AWS Outposts 设计为在您的 Outpost 和 AWS 区域之间保持持续而稳定的连接。要实现与该区域以及本地环境中的本地工作负载的连接,您必须将 Outpost 连接到本地网络。您的本地网络必须提供返回该区域和互联网的广域网 (WAN) 访问权限。它还必须提供对本地工作负载或应用程序所在的本地网络的 LAN 或 WAN 访问权限。
下图说明了 Outpost 的两种外形规格。
网络组件
AWS Outposts 可将 Amazon VPC 从 AWS 区域扩展到 Outpost,其中包含可在该区域访问的 VPC 组件,包括互联网网关、虚拟专用网关、Amazon VPC 中转网关和 VPC 端点。Outpost 位于该区域内的一个可用区中,是该可用区的延伸,让您可以用来实现弹性。
下图显示了您的 Outpost 的网络组件。
-
AWS 区域 和本地网络
-
区域内有多个子网的 VPC
-
本地网络中的 Outpost
-
Outpost 与本地网络之间的连接由本地网关(机架)或本地网络接口(服务器)提供
VPC 和子网
虚拟私有云(VPC)跨越其 AWS 区域中的所有可用区。您可以通过添加 Outpost 子网将区域中的任何 VPC 扩展到您的 Outpost。要将 Outpost 子网添加到 VPC,请在创建子网时指定 Outpost 的 Amazon Resource Name (ARN)。
Outpost 支持多个子网。在 Outpost 中启动 EC2 实例时,您可以指定 EC2 实例子网。您无法指定部署实例的底层硬件,因为 Outpost 是一个 AWS 计算和存储容量池。
每个 Outpost 可以支持多个 VPC,这些 VPC 可以有一个或多个 Outpost 子网。有关 VPC 配额的信息,请参阅 Amazon VPC 用户指南中的 Amazon VPC 配额。
您可以根据创建 Outpost 的 VPC 的 VPC CIDR 范围创建 Outpost 子网。您可以将 Outpost 地址范围用于资源,例如驻留在 Outpost 子网中的 EC2 实例。
路由
默认情况下,每个 Outpost 子网都会从其 VPC 继承主路由表。您可以创建自定义路由表,并将其与 Outpost 子网相关联。
Outpost 子网的路由表与可用区子网的路由表一样起作用。您可以指定 IP 地址、互联网网关、本地网关、虚拟私有网关和对等连接作为目标。例如,每个 Outpost 子网,无论是通过继承的主路由表还是自定义表,都继承 VPC 本地路由。这意味着 VPC 中的所有流量,包括目标为 VPC CIDR 的 Outpost 子网,仍在 VPC 中路由。
Outpost 子网路由表可以包括以下目的地:
-
VPC CIDR 范围 — 在安装时 AWS 定义此范围。这是本地路由,适用于所有 VPC 路由,包括同一 VPC 中 Outpost 实例之间的流量。
-
AWS 区域目标 — 这包括 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 网关端点、AWS Transit Gateway、虚拟私有网关、互联网网关和 VPC 对等互连的前缀列表。
如果您与同一 Outpost 上的多个 VPC 建立了对等连接,则这些 VPC 之间的流量将保留在 Outpost 中,并且不会使用返回该地区的服务链路。
-
使用本地网关跨越 Outpost 的 VPC 内部通信 — 您可以使用直接 VPC 路由,跨越不同 Outpost 在同一 VPC 的子网与本地网关之间建立通信。有关更多信息,请参阅:
DNS
对于连接 VPC 的网络接口,Outposts 子网中的 EC2 实例可以使用 Amazon Route 53 DNS 服务将域名解析为 IP 地址。Route 53 支持 DNS 功能,例如域注册、DNS 路由和对您的 Outpost 中运行的实例进行运行状况检查。支持公有和私有托管可用区将流量路由到特定域。AWS 区域托管了 Route 53 解析器。因此,从 Outpost 返回 AWS 区域的服务链路必须处于正常运行状态,这些 DNS 功能才能正常运行。
使用 Route 53,您的 DNS 解析时间可能会更长,这取决于 Outposts 和AWS区域之间的路径延迟。在这种情况下,您可以使用在本地环境中以本地方式安装的 DNS 服务器。要使用自己的 DNS 服务器,必须为本地 DNS 服务器创建 DHCP 选项集并将其与 VPC 关联。您还必须确保这些 DNS 服务器有 IP 连接。您可能还需要将路由添加到本地网关路由表中以实现可访问性,但这仅适用于带有本地网关的 Outposts 机架。由于 DHCP 选项集具有 VPC 范围,因此 Outpost 子网和 VPC 的可用区子网中的实例都将尝试使用指定的 DNS 服务器进行 DNS 名称解析。
源自 Outpost 的 DNS 查询不支持查询日志记录。
服务链路
服务链路是从您的 Outpost 返回您选择的 AWS 区域或 Outpost 主区域的连接。服务链路是一组加密的 VPN 连接,每当 Outpost 与您选择的主区域通信时,都会使用这些连接。您可以使用虚拟 LAN (VLAN) 对服务链路上的流量进行分段。服务链路 VLAN 支持 Outpost 和 AWS 区域之间的通信,用于管理 AWS 区域与 Outpost 之间的 Outpost 和 VPC 内部流量。
您的服务链路是在您的 Outpost 预置完毕时创建的。如果您有服务器外形,则可以创建连接。如果您有机架,则 AWS 创建服务链路。有关更多信息,请参阅:
-
《AWS Outposts 高可用性设计和架构注意事项》 AWS 白皮书中的应用程序/工作负载路由
本地网关
Outposts 机架包括本地网关,用于连接到您的本地网络。如果您有 Outposts 机架,则可以将本地网关作为目标,其中目的地是您的本地网络。本地网关仅适用于 Outposts 机架,并且只能在与 Outposts 机架相关联的 VPC 和子网路由表中使用。有关更多信息,请参阅:
-
《AWS Outposts 高可用性设计和架构注意事项》 AWS 白皮书中的应用程序/工作负载路由
本地网络接口
Outposts 服务器包括本地网络接口,用于连接到您的本地网络。本地网络接口仅适用于在 Outpost 子网上运行的 Outpost 服务器。您不能在 Outposts 机架上或 AWS 区域使用来自 EC2 实例的本地网络接口。本地网络接口仅适用于本地位置。有关更多信息,请参阅适用于 Outpost 服务器的 AWS Outposts 用户指南中的本地网络接口。