什么是 Amazon OpenSearch 无服务器? - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

什么是 Amazon OpenSearch 无服务器?

Amazon OpenSearch Serverless 是亚马逊 OpenSearch 服务的按需无服务器配置。Serverless 消除了配置、配置和调整集群的操作复杂性。 OpenSearch对于不想自行管理集群的组织或没有专门资源或专业知识来运营大型 OpenSearch 集群的组织来说,这是一个不错的选择。借 OpenSearch 助 Serverless,您可以轻松搜索和分析大量数据,而不必担心底层基础设施和数据管理。

OpenSearch Serverless 集合是一组 OpenSearch索引,它们协同工作以支持特定的工作负载或用例。集合比需要手动配置的自我管理 OpenSearch 集群更易于使用。

集合具有与预配置 OpenSearch 服务域相同的高容量、分布式和高可用性存储卷,但由于不需要手动配置和调整,因此它们消除了更多的复杂性。数据在集合中传输时会被加密。 OpenSearch Serverless 还支持 OpenSearch 仪表板,它为分析数据提供了直观的界面。

无服务器集合目前运行 OpenSearch 版本 2.0.x。随着新版本的发布, OpenSearch Serverless 将自动升级您的集合,以使用新功能、错误修复和性能改进。

OpenSearch 无服务器的用例

OpenSearch 无服务器支持两个主要用例:

  • 日志分析:日志分析部分专注于分析大量半结构化、机器生成的时间序列数据,以了解操作和用户行为。

  • 全文搜索:全文搜索部分可为内部网络中的应用程序(内容管理系统、法律文档)和面向互联网的应用程序(如电子商务网站内容搜索)提供支持。

在创建集合时,您可以选择以下应用场景之一。有关更多信息,请参阅 选择集合类型

先决条件

OpenSearch Serverless 支持与 OpenSearch 开源套件相同的采集和查询API操作,因此您可以继续使用现有的客户端和应用程序。您的客户端必须与 OpenSearch 2.x 兼容,才能使用 OpenSearch Serverless。有关更多信息,请参阅 将数据摄取到 Amazon OpenSearch 无服务器集合中

工作方式

传统 OpenSearch 集群只有一组执行索引和搜索操作的实例,并且索引存储与计算容量紧密结合。相比之下, OpenSearch Serverless 使用云原生架构,将索引(提取)组件与搜索(查询)组件分开,Amazon S3 作为索引的主要数据存储。

这种分离架构使您可以独立扩展搜索和索引功能,并且独立于 S3 中的索引数据。这种架构还为摄取和查询操作提供了隔离,使它们可以同时运行,而不会发生资源争用。

当您将数据写入集合时, OpenSearch Serverless 会将其分发到索引计算单元。索引计算单位将摄取传入数据,并将索引移至 S3。当您对集合数据执行搜索时, OpenSearch Serverless 会将请求路由到保存所查询数据的搜索计算单元。搜索计算单位直接从 S3 下载索引数据(如果这些数据尚未在本地缓存),运行搜索操作,然后执行聚合。

下图阐明了这种分离架构:

Diagram showing indexing and search processes using compute units and Amazon S3 storage.

OpenSearch 用于数据摄取、搜索和查询的无服务器计算容量以 OpenSearch 计算单位 () 来衡量。OCUs每个都OCU是 6 GiB 内存和相应的虚拟 CPU (vCPU) 以及向 Amazon S3 传输数据的组合。每个都OCU包含足够的临时热存储空间,可存放 120 GiB 的索引数据。

当你创建第一个集合时, OpenSearch Serverless 会实例化两个 OCUs ——一个用于索引,一个用于搜索。为了确保高可用性,它还会在另一个可用区中启动一组备用节点。出于开发和测试目的,您可以禁用集合的启用冗余设置,这将消除两个备用副本,只实例化两个副本。OCUs默认情况下,冗余活动副本处于启用状态,这意味着账户中的第一个集合总共实例化了四个OCUs副本。

即使在任何集合端点上没有任何活动,它们也会OCUs存在。所有后续集合都共享这些OCUs。当您在同一个账户中创建其他集合时, OpenSearch Serverless 只会根据您指定的容量限制,根据需要添加额外的OCUs搜索和收录来支持这些集合。容量会随着计算使用量的减少而缩减。

有关这些费用如何计费的信息OCUs,请参阅 OpenSearch 无服务器定价

选择集合类型

OpenSearch 无服务器支持三种主要的集合类型:

Time series(时间序列):专注于实时分析机器生成的大量半结构化数据的日志分析部分,用于了解操作、安全性、用户行为和业务方面的情况。

Search(搜索):可为内部网络中的应用程序(内容管理系统、法律文档)和面向互联网的应用程序(如电子商务网站搜索和内容搜索)提供支持的全文搜索。

向量搜索 – 对向量嵌入执行语义搜索,用于简化向量数据管理,并为机器学习 (ML) 增强搜索体验和生成式人工智能应用程序(例如,聊天机器人、个人助理和欺诈检测)提供支持。

在首次创建集合时,您可以选择一种集合类型:

Three collection type options: Time series, Search, and Vector search for different data use cases.

您选择的集合类型取决于您计划摄取到集合中的数据类型,以及您计划如何查询这些数据。在创建集合后,您将无法更改集合类型。

集合类型有以下显著差异

  • 对于搜索向量搜索集合,所有数据都将存储在热存储中,以确保快速查询响应时间。时间序列集合使用热存储和温存储的组合,其中最新数据保存在热存储中,以优化访问频率更高的数据的查询响应时间。

  • 对于时间序列向量搜索集合,无法按自定义文档 ID 编制索引,也无法按 upsert 请求进行更新。此操作是为搜索应用场景保留的。您可以改为按文档 ID 进行更新。有关更多信息,请参阅 受支持的 OpenSearch API 操作和权限

  • 对于搜索时间序列集合,不能使用 k-NN 类型的索引。

OpenSearch 无服务器定价

在 OpenSearch Serverless 中,您需要为以下组件付费:

  • 数据摄取计算

  • 搜索和查询计算

  • 保留在 Amazon S3 中的存储

OCUs按小时计费,精度为每秒。在您的账户对账单中,您会看到一个以OCU小时为单位计算的条目,上面有一个用于数据提取的标签和一个用于搜索的标签。您还需要按月为存储在 Amazon S3 中的数据付费。您无需为使用 OpenSearch 仪表板付费。

创建集合并启用冗余活动副本时,您需要为摄取支付至少 2 OCU [0.5 OCU x 2] 的费用,搜索费用至少为 1 [0.5 x 2]。OCUs OCU如果您禁用了冗余的活动副本,则您需要为账户中的第一个集合支付至少 1 OCU [0.5 OCU x 2] 的费用。所有后续集合都可以共享这些集合OCUs。

OpenSearch Serverless OCU 根据支持您的馆藏所需的计算能力和存储空间以 1 为增量添加额外OCUs内容。您可以OCUs为账户配置最大数量以控制成本。

注意

具有唯一性的收藏 Amazon KMS keys 无法OCUs与其他收藏共享。

OpenSearch Serverless 尝试使用所需的最低资源来应对不断变化的工作负载。在任何给定时间OCUs预配置的数量都可能有所不同,而且不准确。随着时间的推移, OpenSearch Serverless使用的算法将继续改进,以更好地最大限度地减少系统使用量。

有关全部定价详情,请参阅 Amazon OpenSearch 服务定价

支持 Amazon Web Services 区域

OpenSearch 无服务器 Amazon Web Services 区域 在该 OpenSearch 服务的子集中可用。有关支持区域的列表,请参阅中的亚马逊 OpenSearch 服务终端节点和配额Amazon Web Services 一般参考

限制

OpenSearch 无服务器有以下限制:

  • 不支持某些 OpenSearch API操作。请参阅 受支持的 OpenSearch API 操作和权限

  • 不支持某些 OpenSearch 插件。请参阅 受支持的 OpenSearch 插件

  • 目前无法将您的数据从托管 OpenSearch 服务域自动迁移到无服务器集合。您必须将数据从域重新索引到集合。

  • 不支持跨账户存取集合。您不能将来自其他账户的集合包括在您的加密或数据访问策略中。

  • 不支持自定义 OpenSearch 插件。

  • 您无法拍摄或恢复 OpenSearch 无服务器集合的快照。

  • 不支持跨区域搜索和复制。

  • 对于您在一个账户和区域中可以拥有的无服务器资源的数量存在限制。请参阅OpenSearch 无服务器配额

  • 向量搜索集合中索引的刷新间隔约为 60 秒。搜索集合和时间序列集合中索引的刷新间隔约为 10 秒。

  • 分片数、间隔数和刷新间隔不可修改,由 OpenSearch Serverless 处理。分片策略基于集合类型和流量。例如,时间序列集合根据写入流量瓶颈扩展主分片。

  • 支持 2.1 及以下 OpenSearch 版本中可用的地理空间功能。