什么是 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 服务控制台、或其中一个 Amazon 软件开发工具包创建一个或多个集合。 Amazon CLI有关帮助您快速启动和运行集合的教程,请参阅开始使用 Amazon OpenSearch Serverless

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

工作方式

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

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

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

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

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

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

即使在任何集合端点上都没有活动,这些 OCU 也仍然存在。所有后续集合都将共享这些 OCU。当您在同一个账户中创建其他集合时, OpenSearch Serverless 仅根据您指定的容量限制,根据需要添加额外的 OCU 以支持这些集合。随着计算使用量的减少,容量会向下扩展。

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

选择集合类型

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

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

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

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

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

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

集合类型有以下显著差异

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

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

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

OpenSearch 无服务器定价

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

  • 数据摄取计算

  • 搜索和查询计算

  • 保留在 Amazon S3 中的存储

OCU 按小时计费,精确到秒。在您的账户对账单中,您会看到按 OCU 小时数计算的条目,其中包含用于数据摄取的标签和用于搜索的标签。您还需要按月为存储在 Amazon S3 中的数据付费。您无需为使用 OpenSearch 仪表板付费。

创建集合并启用冗余活动副本时,您需要为分配给工作负载的至少四个 OCU 付费。如果禁用冗余活动副本,则需要为账户中第一个集合的至少两个 OCU 付费。所有后续集合均可共享这些 OCU。

OpenSearch Serverless 会根据支持您的集合所需的计算来添加其他 OCU。如果您的工作负载使用部分 OCU,则定价按比例计算。您可以为自己的账户配置 OCU 的最大数量,以控制成本。

注意

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

OpenSearch Serverless 尝试使用所需的最低资源来应对不断变化的工作负载。在任何给定时间配置的 OCU 数量可能会有所不同,而且不准确。随着时间的推移, 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 版本中可用的地理空间功能。

比较 OpenSearch 服务和 OpenSearch 无服务器

在 OpenSearch Serverless 中,某些概念和功能与预配置 OpenSearch 服务域的相应功能不同。例如,一个重要的区别是 OpenSearch Serverless 没有集群或节点的概念。

下表描述了 OpenSearch Serverless 中的重要功能和概念与预配置 OpenSearch 服务域中的等效功能有何不同。

功能 OpenSearch 服务 OpenSearch 无服务器

域与集合

索引保存在域中,这些域是预先配置的群集。 OpenSearch

有关更多信息,请参阅 创建和管理亚马逊 OpenSearch 服务域名

索引保存在集合中,集合是代表特定工作负载或应用场景的索引的逻辑分组。

有关更多信息,请参阅 创建、列出和删除 Amazon OpenSearch 无服务器产品系列

节点类型和容量管理

您可以使用符合成本和性能规格的节点类型构建集群。您必须计算自己的存储需求,并针对您的域选择实例类型。

有关更多信息,请参阅 调整亚马逊 OpenSearch 服务域名的大小

OpenSearch Serverless 会根据您的容量使用情况自动为您的账户扩展和配置额外的计算单元。

有关更多信息,请参阅 管理 Amazon OpenSearch 无服务器的容量限制

Billing

您需要按小时支付使用 EC2 实例和附加到您的实例的任何 EBS 存储卷的累计大小的费用。

有关更多信息,请参阅 Amazon OpenSearch Service 定价

您需要以 OCU 小时数为单位,为用于数据摄取的计算、用于搜索和查询的计算以及保留在 S3 中的存储付费。

有关更多信息,请参阅 OpenSearch 无服务器定价

加密

对于域,静态加密是可选的

有关更多信息,请参阅 为 Amazon OpenSearch 服务加密静态数据

对于集合,静态加密是必需的

有关更多信息,请参阅 Amazon OpenSearch 无服务器中的加密

数据访问控制

针对域中数据的访问权限由 IAM policy 和精细访问控制决定。

针对集合中数据的访问权限由数据访问策略决定。

支持的 OpenSearch操作

OpenSearch 服务支持所有 OpenSearch API 操作的子集。

有关更多信息,请参阅 Amazon OpenSearch 服务中支持的操作

OpenSearch 无服务器支持不同的 OpenSearch API 操作子集。

有关更多信息,请参阅 Amazon OpenSearch Serverless 中支持的操作和插件

控制面板登录

使用用户名和密码登录。

有关更多信息,请参阅 以主用户身份访问 OpenSearch 仪表板

如果您已登录 Amazon 控制台并导航到控制面板 URL,则会自动登录。

有关更多信息,请参阅 访问 OpenSearch 仪表板

API

使用 OpenSearch 服务 API 操作以编程方式与OpenSearch 服务进行交互。

使用 OpenSearch 无服务器 API 操作以编程方式与OpenSearch 无服务器交互。

网络访问

域的网络设置适用于域端点和 OpenSearch 仪表板端点。两者的网络访问紧密结合。

域端点和 OpenSearch 仪表板端点的网络设置是分离的。您可以选择不配置 OpenSearch 仪表板的网络访问权限。

有关更多信息,请参阅 Amazon OpenSearch Serverless 的网络访问

签署请求

使用 OpenSearch 高级和低级 REST 客户端签署请求。将服务名称指定为 es

目前, OpenSearch Serverless 支持 OpenSearch 服务支持的一部分客户端。

在签署请求时,请将服务名称指定为 aossx-amz-content-sha256 标头是必需的。有关更多信息,请参阅 与其他客户端签署 HTTP 请求

OpenSearch 版本升级

随着新版本的上市,您可以手动升级您的域名。 OpenSearch由您负责确保您的域符合升级要求,并且您已解决任何重大更改。

OpenSearch Serverless 会自动将您的收藏升级到新 OpenSearch 版本。升级不一定会在新版本推出后立即进行。

服务软件更新

当服务软件更新推出时,您可以手动将其应用于您的域。

OpenSearch Serverless 会自动更新您的集合,以使用最新的错误修复、功能和性能改进。

VPC 访问

您可以在 VPC 中预调配您的域

您还可以创建其他OpenSearch 服务托管 VPC 终端节点来访问该域。

您可以为账户创建一个或多个OpenSearch 无服务器托管的 VPC 终端节点。然后,将这些端点包括在网络策略中。

SAML 身份验证

您可以基于每个域启用 SAML 身份验证。

有关更多信息,请参阅 仪表板的 SAML 身份验证 OpenSearch

您可以在账户级别配置一个或多个 SAML 提供者,然后将关联的用户和组 ID 包括在数据访问策略中。

有关更多信息,请参阅 适用于 Amazon 无服务器的 SAM OpenSearch L 身份验证

传输安全层 (TSL) OpenSearch 服务支持 TLS 1.2,但建议您使用 TLS 1.3。 OpenSearch 无服务器支持 TLS 1.2,但建议您使用 TLS 1.3。