返回

Amazon OpenSearch Serverless 下一代私网连接模式

RSS AWS Big Data Blog AI 逐段翻译 发布 2026-09-04 00:26

有效阅读仅保存在当前浏览器,用于「为你」推荐;暂停或清除记录。

DataHot 速览

AWS 官方介绍了 OpenSearch Serverless 下一代私网访问连接方式:不再需要在每个消费 VPC 中创建 VPC 端点并配置 Route 53 Profiles、自定义私有 hosted zone 或 resolver inbound endpoints,而是改用标准 AWS PrivateLink 接口端点,并原生支持私有 DNS。集合端点基于 on.aws 域,分为单集合端点与账户级区域端点,后者通过 x-amz-aoss-collection-name 请求头指定目标集合。文章还按区域和账户边界给出了 9 种架构模式的 DNS 解析与数据流量路径。

为什么值得关注:数据平台工程师在规划 OpenSearch Serverless 私网访问、跨账户或多区域连接时,可直接对照这些模式,减少此前复杂的 DNS 编排与维护负担。

本文目录 14 节
  1. 先决条件
  2. DNS解析
  3. 模式1:从单个VPC进行私有访问
  4. 模式2:同一账户中的多个VPC
  5. 模式3:从单账户进行本地访问
  6. 模式4:在每个消费者VPC中使用端点的跨账户访问
  7. 模式5:通过Transit Gateway使用Amazon Route 53 Profiles的集中式共享端点
  8. 模式6:跨账户集中式网络与本地访问
  9. 模式 7:分布式多业务部门与 Spoke 账户访问
  10. 模式 8:分布式多业务部门与本地访问
  11. 模式 9:跨区域访问策略
  12. 总结
  13. 成本考虑
  14. 结论

译文

AI 逐段翻译

用于私有访问的网络连接模式Amazon OpenSearch Serverless过去需要大量设置。您必须在每个消费VPC中创建虚拟私有云(VPC)端点,并配置Amazon Route 53 Profiles用于跨账户DNS。您还必须维护带有CNAME记录的自定义私有托管区域,并为本地连接部署解析器入站端点。下一代OpenSearch Serverless改变了这一点。它使用标准的AWS PrivateLink接口端点并原生支持私有DNS。以前需要多步骤DNS编排的连接模式现在可以与您已经在其他AWS服务中使用的相同端点机制配合使用。

集合在on.aws域上使用基于资源的端点,有两种格式。每集合端点(on.aws<collectionId>.aoss.<region>.on.aws<collectionId>.aoss.<region>.on.aws)访问单个集合,并且主机名本身标识您想要的集合,因此无需额外的路由信息。每账户区域端点(<accountId>.aoss.<region>.on.aws)通过一个主机名访问您账户中的任何集合。由于主机名本身不标识特定集合,您需要在每个请求中添加x-amz-aoss-collection-name请求头(或x-amz-aoss-collection-id)以指定目标集合。AWS SDK在使用Signature Version 4 (SigV4)签署请求时自动包含此请求头。

两种格式都使用标准的AWS PrivateLink。您可以从Amazon Virtual Private Cloud (Amazon VPC)控制台或Amazon Elastic Compute Cloud (Amazon EC2) CreateVpcEndpointAPI创建VPC端点,使用服务名称com.amazonaws.<region>.aoss-data。这与您为任何其他AWS服务创建的接口端点相同。

在本文中,每种模式都展示了架构、DNS解析流程和数据流量路径。模式1至8在单个区域内的一个或多个账户中运行,在图中标记为区域A,因此跨账户模式中重复的区域A框是相同的区域。只有模式9跨区域,显示为区域A和区域B。

这些模式仅适用于集合(数据)端点。当您创建集合时,您还会收到一个OpenSearch UI端点。该端点目前使用单独的PrivateLink机制,具有自己的VPC端点和访问策略,并且正在向标准PrivateLink模型迁移。OpenSearch UI连接不在本文讨论范围内。

先决条件

DNS解析

当您为com.amazonaws.<region>.aoss-data创建启用了私有DNS的标准VPC端点时,AWS会为*.aoss.<region>.on.aws创建一个私有托管区域,并将其与您的VPC关联。该区域将集合主机名映射到端点的私有弹性网络接口(ENI)IP地址。您的计算资源的DNS查询到达VPC+2处的VPC Amazon Route 53 Resolver,该解析器将主机名解析为ENI IP。

一个端点服务该区域中的所有集合主机名。以下AWS CLI命令创建该接口端点,并且--private-dns-enabled标志启用此处描述的私有DNS解析。

aws ec2 create-vpc-endpoint \
  --vpc-id vpc-abc123 \
  --service-name com.amazonaws.us-east-1.aoss-data \
  --vpc-endpoint-type Interface \
  --subnet-ids subnet-111 subnet-222 \
  --security-group-ids sg-xxx \
  --private-dns-enabled

在支持Federal Information Processing Standards (FIPS)的区域中,同一端点还会解析*.aoss-fips.<region>.on.aws以获得符合FIPS的访问。

OpenSearch Serverless没有每集合的Dashboards端点。使用OpenSearch UI 应用程序来探索和可视化集合数据。

以下模式中的图表使用Amazon EC2实例来表示计算客户端。VPC中的任何计算资源都以相同方式访问集合,包括EC2实例、AWS Lambda附加到VPC的函数,以及运行在Amazon Elastic Container Service (Amazon ECS)或Amazon Elastic Kubernetes Service (Amazon EKS)上的容器。无论计算类型如何,连接、DNS解析和访问策略都是相同的。

模式1:从单个VPC进行私有访问

VPC中的计算资源需要私有访问同一账户中的集合。下图显示了从单个VPC进行私有访问的架构。

单个VPC中的计算资源通过启用了私有DNS的VPC接口端点访问集合

图1:从单个VPC进行私有访问

在您的计算资源运行的VPC中创建标准VPC端点,然后在其ID中引用集合的网络策略。

对于DNS解析流程,(1)计算资源查询<collectionId>.aoss.<region>.on.aws,VPC Route 53 Resolver在VPC+2处返回端点ENI IP地址,因为端点上启用了私有DNS。

对于数据流量路径,(2)计算资源连接到ENI,以及(3)PrivateLink将请求转发到服务,服务通过主机名路由到集合。

模式2:同一账户中的多个VPC

按环境、层级或团队划分的多个VPC需要私有访问相同的集合。下图显示了每个VPC如何使用自己的端点访问相同的集合。

一个账户中的三个VPC,每个都有自己的aoss-data接口端点,访问相同的集合

图2:同一账户中的多个VPC

每个VPC只需要一个启用了私有DNS的aoss-data端点,该端点已经可以访问该区域中的所有集合。DNS在每个VPC内独立解析,因此不存在跨VPC的DNS依赖。添加新的VPC需要两个步骤。创建端点,然后将端点ID添加到集合的网络策略中。不要在同一VPC中创建第二个启用私有DNS的aoss-data端点。两个端点共享同一个私有托管区域,这会导致冲突,创建失败。

对于DNS解析流程,(1)在每个VPC中计算查询集合主机名,该VPC在VPC+2处的Route 53解析器返回端点ENI IP地址,因为端点上启用了私有DNS。

对于数据流量路径,(2)计算连接到其本地ENI,(3)PrivateLink将请求转发到服务,服务按主机名路由到集合。

模式3:从单账户进行本地访问

本地客户端通过AWS Direct Connect或AWS Site-to-Site VPN连接到集合,这些连接通过AWS Transit Gateway或AWS Cloud WAN连接到VPC。下图显示了本地访问的DNS和数据路径。

图3:从单账户进行本地访问

本地DNS服务器位于VPC外部,无法直接解析PrivateLink私有DNS名称。在持有Amazon Route 53 Resolver入站端点的VPC中放置一个aoss-dataVPC端点。本地DNS将针对aoss.<region>.on.aws的查询转发到该入站端点。入站端点根据私有托管区域解析它们。入站端点的安全组必须允许来自本地解析器范围的TCP/UDP端口53。

对于DNS解析流程,(1)客户端查询本地解析器。(2)针对*.aoss.<region>.on.aws的本地条件转发器通过Direct Connect或VPN、Transit Gateway或Cloud WAN将查询发送到入站端点。入站端点使用VPC Route 53解析器返回端点的私有ENI IP。

对于数据流量路径,(3)客户端通过Direct Connect或VPN、Transit Gateway或Cloud WAN发送HTTPS请求,传输层安全(TLS)服务器名称指示(SNI)头设置为集合主机名。(4)流量穿过VPC的附件ENI,(5)到达VPC端点ENI,(6)PrivateLink将请求转发到服务。

模式4:在每个消费者VPC中使用端点的跨账户访问

中心账户托管集合,分支账户中的计算需要私有访问。许多企业从这里开始。下图显示了跨账户端点架构。

分支账户各自拥有自己的接口端点,通过PrivateLink访问中心账户中的集合

图4:在每个消费者VPC中使用端点的跨账户访问

每个分支创建自己的端点。集合所有者的网络策略引用分支的端点ID。数据访问策略授予分支的IAM角色。PrivateLink端到端承载流量,无需Transit Gateway或对等连接。

端点位于分支账户而非集合账户。分支团队在分支VPC中为服务名称com.amazonaws.<region>.aoss-data创建标准接口VPC端点,并启用私有DNS。集合所有者不创建此端点。端点就绪后,分支将其端点ID共享给集合所有者,后者将该ID添加到集合网络策略的SourceVPCEs下。网络策略接受来自您组织中账户的端点ID。每个分支创建自己的端点并共享ID,而不是对等VPC或通过另一个账户的端点路由。

网络访问和数据访问保持分离。网络策略授权端点,数据访问策略授权身份。无服务器数据访问策略授权来自集合自身账户的主体。对于另一个账户中的分支,您需要在集合账户中创建IAM角色并在数据访问策略中授予该角色。然后分支角色扮演它以签署请求。

以下网络访问策略在SourceVPCEs下列出两个分支端点ID,并将AllowFromPublic设置为false,因此只有这些端点能访问集合,且策略拒绝公共访问。

[
  {
    "Description": "Cross-account access from spoke",
    "Rules": [
      {
        "ResourceType": "collection",
        "Resource": [
          "collection/my-collection"
        ]
      }
    ],
    "AllowFromPublic": false,
    "SourceVPCEs": [
      "vpce-spoke-b-id",
      "vpce-spoke-c-id"
    ]
  }
]

对于DNS解析流程,(1)分支计算查询VPC+2处的VPC Route 53解析器,由于端点上启用了私有DNS,解析器返回本地端点ENI IP。

对于数据流量路径,(2)计算连接到本地ENI。(3)PrivateLink将请求转发到服务,服务在路由前检查网络策略中的端点ID和数据访问策略中的IAM角色。添加一个分支只需一次API调用和两次策略编辑。

模式5:通过Transit Gateway使用Amazon Route 53 Profiles的集中式共享端点

您希望减少PrivateLink端点数量,因此在网络VPC中运行一个共享端点,并通过Transit Gateway或AWS Cloud WAN从分支账户访问它,而不在每个分支中创建端点。下图显示了这种集中式架构。

图5:通过Transit Gateway使用Amazon Route 53 Profiles的集中式共享端点

模式5将访问整合到中心网络VPC中的单个共享端点,而不是为每个分支创建一个。由于分支VPC没有本地端点,它们无法自行解析*.aoss.<region>.on.aws。您使用Amazon Route 53 Profiles共享端点的私有DNS,并通过AWS Resource Access Manager (AWS RAM)共享给分支VPC。这是您仍需管理DNS传播的唯一模式。

对于DNS解析流程,(1)分支通过共享的Route 53 Profile解析主机名,该配置文件返回网络VPC端点的ENI IP。

对于数据流量路径,(2)流量通过分支VPC的附件ENI离开计算,(3)穿过Transit Gateway或Cloud WAN进入网络VPC的附件ENI,(4)到达共享端点ENI,(5)PrivateLink将请求转发到服务。

模式6:跨账户集中式网络与本地访问

中心账户托管集合。单独的网络账户拥有Direct Connect或VPN以及Route 53。本地客户端通过网络账户访问集合。下图显示了此架构。

图6:跨账户集中式网络与本地访问

网络账户运行标准 VPC 端点和 Route 53 Resolver 入站端点。收集所有者的网络策略引用网络账户的端点 ID。

对于 DNS 解析流程,(1) 本地客户端查询其解析器。(2) 本地条件转发器通过 Direct Connect 或 VPN,经 Transit Gateway 或 Cloud WAN,将查询发送到入站端点。入站端点使用 VPC Route 53 Resolver 返回端点的私有 ENI IP。

对于数据流量路径,(3) 客户端通过 Direct Connect 或 VPN,经 Transit Gateway 或 Cloud WAN 发送 HTTPS。(4) 流量穿过网络 VPC 的附着 ENI,(5) 到达网络 VPC 端点 ENI,(6) PrivateLink 将请求转发到中央账户中的服务。两个团队通过一个工件(端点 ID)进行协调。

模式 7:分布式多业务部门与 Spoke 账户访问

Spoke 账户(如分析或应用程序团队)需要跨多个业务部门账户的集合,每个部门管理自己的集合。下图显示了分布式多业务部门架构。

Spoke 账户访问跨多个业务部门账户的集合,每个 Spoke 有自己的端点

图 7:分布式多业务部门与 Spoke 账户访问

每个 Spoke 创建一个标准端点,解析该区域中的所有集合主机名。每个业务部门的网络策略列出 Spoke 端点 ID。访问控制决定 Spoke 可以访问哪些集合。DNS 不决定。

对于 DNS 解析流程,(1) Spoke 计算查询 VPC Route 53 Resolver(在 VPC+2 处),由于端点启用了私有 DNS,它返回端点 ENI IP。

对于数据流量路径,(2) 计算连接到本地 ENI,(3) PrivateLink 将请求转发到服务,服务按主机名路由到正确的业务部门集合。

操作所需更改
任何 BU 中的新集合无需网络更改,因为网络策略中的collection/*通配符已涵盖任何新集合
新 Spoke 账户Spoke 创建端点,BU 将其 ID 添加到其策略中
移除 Spoke 访问BU 移除端点 ID 和 IAM 主体

模式 8:分布式多业务部门与本地访问

几个业务部门在独立账户中拥有集合。本地客户端通过中央网络账户访问所有这些账户中的集合。下图显示了此架构。

图 8:分布式多业务部门与本地访问

网络账户运行一个标准端点,解析*.aoss.<region>.on.aws主机名,无论集合属于哪个账户。每个业务部门的网络策略包含网络端点 ID。

对于 DNS 解析流程,(1) 本地客户端查询其解析器。(2) 针对*.aoss.<region>.on.aws的本地条件转发器通过 Direct Connect 或 VPN,经 Transit Gateway 或 Cloud WAN,将查询发送到网络 VPC 的入站端点。入站端点使用 VPC Route 53 Resolver 返回共享端点的私有 ENI IP。

对于数据流量路径,(3) 客户端通过 Direct Connect 或 VPN,经 Transit Gateway 或 Cloud WAN 发送 HTTPS。(4) 流量穿过网络 VPC 的附着 ENI,(5) 请求到达共享端点 ENI,(6) 服务按主机名路由到业务部门 1 或业务部门 2,只要该业务部门的策略列出网络端点 ID。如果网络策略使用collection/*通配符,则在任何业务部门添加集合无需网络更改,因为通配符已涵盖它。

模式 9:跨区域访问策略

区域 B 中的消费者需要区域 A 中集合的数据。下图显示了跨区域访问策略。

区域 A 和区域 B 中的独立集合,每个都有自己的端点,带有箭头显示跨区域数据同步

图 9:跨区域访问策略

集合是区域性的。没有内置的跨区域端点或复制。在每个区域部署独立集合,每个都有其自己的端点和策略,然后使用以下方法之一同步数据。

  • 双写。应用程序在摄取时写入两个区域。
  • Amazon OpenSearch Ingestion管道。管道将索引操作近乎实时地复制到次要区域。管道创建自己的 PrivateLink 端点以连接到目标集合。它会自动将该端点添加到该集合的网络策略中。您只需命名网络策略并授予管道角色。
  • Amazon Simple Storage Service (Amazon S3)使用重新摄取的跨区域复制。跨区域复制复制对象,OpenSearch Ingestion 管道将其加载到本地集合。延迟以分钟计,成本在这些方法中最低。

对于 DNS 解析流程,DNS 在每个区域本地解析,与模式 1 相同。每个集合主机名带有其区域,因此区域 A 中的主机名通过区域 A 自己的端点解析,区域 B 中的主机名通过区域 B 自己的端点解析,没有跨区域 DNS。

对于数据流量路径,(1) 每个区域中的计算使用该区域自己的端点访问其本地集合。写入落在主要区域,您选择的同步方法将其复制到次要区域,本地读者查询副本。复制箭头显示跨区域移动,例如将写入次要区域集合的 OpenSearch Ingestion 管道。

缩放至零改变了成本效益。空闲的次要区域集合仅花费存储费用,直到请求到达。

总结

模式组件
1. 同一 VPC标准端点和网络策略
2. 多个 VPC每个 VPC 一个端点,策略列出所有 ID
3. 本地终端节点、Route 53 入站终端节点、本地转发器和 Transit Gateway 或 Cloud WAN
4. 跨账户每个消费者的终端节点、网络策略和数据策略
5. 集中式共享终端节点共享终端节点、通过 RAM 使用 Route 53 Profiles 以及 Transit Gateway 或 Cloud WAN
6. 与本地环境的集中网络网络终端节点、Route 53 入站、转发器、Transit Gateway 或 Cloud WAN 以及策略
7. 多业务单元(BU)与分支访问每个分支的终端节点,每个 BU 策略列出分支 ID
8. 多业务单元与本地环境一个网络终端节点通过 Transit Gateway 或 Cloud WAN 访问,每个 BU 策略列出其 ID
9. 跨区域每个区域的独立集合和数据同步方法

在每种私有模式中,VPC 终端节点解析所有 *.aoss.<region>.on.aws 主机名通过标准 PrivateLink 私有 DNS。网络策略控制哪些终端节点可以访问集合,数据访问策略控制哪些主体可以对数据进行操作。只有模式 5 需要管理 DNS。

成本考虑

您选择的连接模式会驱动经常性成本,因此请根据您的规模进行匹配,而不是增加您不需要的基础设施。最常产生的两项费用是 Route 53 Resolver 入站终端节点和 Route 53 Profiles,对于仅在 AWS 内部的访问,这两项都是可选的。

仅当需要本地模式(3、6 和 8)时才需要 Route 53 Resolver 入站终端节点,在这些模式中,本地解析器将查询转发到 VPC。仅在 AWS 内部的流量永远不会使用它。只有当一个 VPC 没有自己的终端节点时,Route 53 Profiles 才适用,如模式 5,其中配置文件将共享终端节点的私有 DNS 传播到分支。当每个 VPC 运行自己的接口终端节点时,DNS 通过 VPC Route 53 Resolver 在本地解析,无需额外费用,因此既不需要入站终端节点,也不需要配置文件。

对于大多数多账户和多区域部署,每个消费者 VPC 中的接口终端节点(模式 4)是最简单且通常是最经济的选择。您只需为您已经需要的私有访问接口终端节点付费,本地 DNS 解析不增加任何费用。由于集合是区域性的,每个区域独立解析,因此可以通过区域间 DNS 扩展到多个区域。

集中在一个共享终端节点(模式 5)上会减少接口终端节点的数量。但是,它增加了 Transit Gateway 或 Cloud WAN 数据处理费用以及共享 DNS 的成本。您要么通过 Route 53 Profiles 共享 DNS,要么通过您跨账户关联并自行维护的私有托管区域进行共享。较小的终端节点数量并不一定更便宜,因为中转数据处理可能超过节省的费用。在做出决定之前,请根据自己的流量比较两种设计。

缩放到零也会影响成本。空闲集合(例如模式 9 中的次要区域副本)会释放其计算能力,并且在请求到达之前仅计算存储费用。有关最新费率,请参阅 AWS PrivateLink 定价、Amazon Route 53 定价 和 Amazon OpenSearch Service 定价。

结论

OpenSearch Serverless 使用标准 AWS PrivateLink 进行私有连接。您创建一个 VPC 终端节点,启用私有 DNS,并在网络策略中引用终端节点 ID。该模型从单 VPC 访问扩展到多账户和多业务单元设计,只有模式 5 才增加 DNS 基础设施,即您使用 Route 53 Profiles 共享终端节点的私有 DNS。每账户区域终端节点更进一步,通过一个主机名和连接池即可为账户中的任何集合提供服务。要开始使用,请在 OpenSearch Serverless 控制台中创建您的第一个集合,或探索 OpenSearch Serverless 文档 了解详细的 API 参考和教程。

这篇内容对你有用吗?

反馈只用于改善内容筛选,不等同于收藏

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存