Amazon OpenSearch Service 常见问题

一般性问题

Amazon OpenSearch Service 是一项托管服务,可以让您轻松地进行交互式日志分析、实时应用程序监控和网站搜索等工作。OpenSearch 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。Amazon OpenSearch Service 提供最新版本的 OpenSearch,支持 19 个版本的 Elasticsearch(1.5 到 7.10 版本),以及支持由 OpenSearch Dashboards 和 Kibana(1.5 到 7.10 版本)提供的可视化功能。Amazon OpenSearch Service 目前已经拥有上万个活跃客户,托管了数十万个集群,每月处理数万亿个请求。有关更多详细信息,请参阅 Amazon OpenSearch Service 常见安问题

Amazon OpenSearch Service 提供最新版本的 OpenSearch,并支持 19 个版本的 Elasticsearch(1.5 至 7.10 版)。有关更多详细信息,请参阅我们的文档

Amazon OpenSearch Service 域是使用 Amazon OpenSearch Service 控制台、CLI 或 API 创建的 Elasticsearch(1.5 至 7.10)或 OpenSearch 集群。每个域都是云中的一个 OpenSearch 或 Elasticsearch 集群,其中包含您指定的计算和存储资源。您可以创建和删除域、定义基础设施属性以及控制访问和安全性。您可以运行一个或多个 Amazon OpenSearch Service 域。

Amazon OpenSearch Service 可管理设置域所涉及的工作,从在您请求的网络环境中预置基础设施资源到安装 OpenSearch 或 Elasticsearch 软件。一旦您的域开始运行,Amazon OpenSearch Service 会自动执行常见的管理任务,例如执行备份、监控实例以及软件补丁。Amazon OpenSearch Service 与 Amazon CloudWatch 集成,以生成提供有关该域状态信息的指标。Amazon OpenSearch Service 还提供了修改域实例和存储设置的选项,以简化根据您的应用程序需求定制域的任务。

Amazon OpenSearch Service 支持大多数常用的 OpenSearch 和 Elasticsearch API,因此,您在 Elasticsearch(7.10 及更低版本)或 OpenSearch 环境中正在使用的代码、应用程序和常见工具可以无缝地正常工作。有关可支持操作的完整列表,请参阅我们的文档

Amazon OpenSearch Service 为客户提供了跨一个、两个或三个可用区部署实例的选项。运行开发或测试工作负载的客户可以选择单个可用区选项。运行生产级工作负载的客户应使用两个或三个可用区。强烈建议对具有更高可用性要求的工作负载部署三个可用区。

注意:三个可用区选项仅适用于具有三个或更多可用区的区域。

Amazon OpenSearch Service 在提供该服务的所有区域中均支持三个可用区部署,美国西部(北加利福尼亚)除外,我们在该区域仅支持两个可用区。

Amazon OpenSearch Service 是一项完全托管的服务,允许您运行与扩展 OpenSearch 集群,而不必为基础设施的管理、监控和维护担心,并且无需具备有关操作 OpenSearch 集群的深厚专业知识。作为一项完全托管的服务,Amazon OpenSearch Service 目前在 AWS 上运行。但是,OpenSearch 是一个分布式、社区驱动、Apache 2.0 许可的 100% 开源搜索和分析套件,可在本地或混合和多云环境中运行。例如,有些合作伙伴在其他云平台上提供 OpenSearch,或者在其应用程序中使用 OpenSearch。OpenSearch 可帮助您更轻松地为一系列应用场景(如日志分析、应用程序搜索、企业搜索,等等)提取、保护、搜索、聚合、查看以及分析数据。OpenSearch 提供了一个高度可扩展的系统,通过集成的可视化工具 OpenSearch 控制面板快速访问和响应大量数据,使用户可以更轻松地探索他们的数据。OpenSearch 由 Apache Lucene 搜索库提供技术支持,它支持一系列搜索及分析功能,如 k-最近邻 (KNN) 搜索、SQL、异常检测、Machine Learning Commons、Trace Analytics、全文搜索等。

设置和配置

符合。您只需单击几下即可在控制台中使用域创建向导创建新的 Amazon OpenSearch Service 域。创建新的域时,您可以指定实例数量、实例类型以及您希望分配给域的 EBS 卷。您还可以在控制台中修改或删除现有的 Amazon OpenSearch Service 域。

是的。Amazon OpenSearch Service 可以和 Amazon VPC 集成。选择 VPC 访问后,VPC 中的 IP 地址会挂载到 Amazon OpenSearch Service 域,并且所有网络流量均保持在 AWS 网络内,且无法通过 Internet 访问。此外,您还可以使用安全规则组和 IAM 策略,以限制对 Amazon OpenSearch Service 域的访问。

符合。AWS CloudFormation 支持 Amazon OpenSearch Service。有关更多详细信息,请参阅 CloudFormation 模板参考文档。

符合。您可以为域配置专用的主节点。选择一个专用主节点后,您可以指定实例类型和实例数量。

符合。您可以在同一个 Amazon OpenSearch Service 域中创建多个 Elasticsearch 或 OpenSearch 索引。Elasticsearch 和 OpenSearch 会自动在分配到该域的实例之间分发索引和所有相关副本。

Amazon OpenSearch Service 支持三种数据摄取方式:

  • 对于大规模数据,我们建议使用 Amazon Kinesis Data Firehose,这是一项完全托管的服务,可以自动扩展以匹配您的数据吞吐量,并且不需要进行持续的管理。它还可以在加载数据前对其进行转换、批处理和压缩。
  • Amazon OpenSearch Service 支持与 Logstash 的集成。您可以将 Amazon OpenSearch Service 域配置为数据存储,用于存储所有来自 Logstash 的日志。
  • 您可以使用索引 API 和批量 API 等原生 Elasticsearch(7.10 及更低版本)或 OpenSearch API 将数据加载到域中。

符合。Amazon OpenSearch Service 支持与 Logstash 的集成。您可以将 Amazon OpenSearch Service 域配置为数据存储,用于存储所有来自 Logstash 的日志。您可以在 Amazon OpenSearch Service 域上设置访问控制,可以使用请求签名来验证来自 Logstash 的调用,或者使用基于资源的 IAM 策略允许运行 Logstash 实例的 IP 地址进行访问。

符合。Amazon OpenSearch Service 提供由 OpenSearch Dashboards 和 Kibana(1.5 至 7.10 版本)支持的可视化功能。

您可以选择本地实例存储或 EBS 卷。在创建域的过程中,如果您选择 EBS 存储,则可以按需增加和减小存储卷的大小。

您可以选择磁卷、通用型卷和预置的 IOPS EBS 卷。

符合。Amazon OpenSearch Service 根据实例的选择和/或关联的 EBS 卷的大小部署存储。对于存储为 EBS gp3 的 R6g.12xlarge 实例,每个节点的最大存储量为 24 TB。在默认情况下,每个 Amazon OpenSearch Service 域最多可有 80 个数据节点,因此,您可以为一个域分配 1920 TB 左右的存储容量。您可以使用 AWS Support Center 创建一个问题来申请提高服务限制,将每个域的实例数增加到 200 个。通过这 200 个实例,您可以为一个域分配 3PB 左右的存储容量。

如果在单个可用区中部署数据实例,则专用主实例也会部署在同一个可用区中。但是,如果跨两个或三个可用区部署数据实例,Amazon OpenSearch Service 会自动在三个可用区中分配专用主实例。如果某个区域只有两个可用区,或者您为主实例选择了不是在所有可用区中都可用的较老一代实例类型,则会出现例外情况。有关更多详细信息,请参阅我们的文档

您可以使用 AWS 控制台、CLI 或软件开发工具包,为现有域和新域启用三个可用区部署。有关更多详细信息,请参阅我们的文档

不需要,Amazon OpenSearch Service 不会针对启用三个可用区部署收取任何费用。您只需根据域中的实例数量付费,而不是部署实例的可用区数。

配置了多个可用区的所有域都会启用可用区感知,以确保在可用区之间分配分片。在控制台中,您现在可以显式地选择两个或三个可用区部署。除非重新配置,否则先前使用“可用区感知”配置的域将继续部署在两个可用区中。有关更多详细信息,请参阅我们的文档

如果可用区中的一个或多个实例无法访问或无法使用,Amazon OpenSearch Service 会自动尝试在同一个可用区中启动新实例以替换受影响的实例。在罕见的情况下,例如无法在可用区中启动新实例,如果该域配置为跨多个可用区部署,则 Amazon OpenSearch Service 会在其他可用区中启动新实例。一旦可用区问题得到解决,Amazon OpenSearch Service 会重新平衡实例,以便将其均匀分布在为域配置的可用区中。有关更多详细信息,请参阅我们的文档

即使配置一个副本,我们也建议使用三个可用区。如果在三个可用区域中发生可用区中断,则只会丢失三分之一的容量,但如果在两个可用区域中发生中断,则会损失一半的容量,这可能会更具破坏性。此外,在三个可用区域中,当可用区中断时,Amazon OpenSearch Service 可以回退到剩下的两个可用区,并且仍然支持跨可用区复制。在两个可用区域中,如果一个可用区中断,则会失去跨可用区复制能力,从而进一步降低可用性。有关更多详细信息,请参阅我们的文档

域部署的可用区数量与您为 VPC 域配置的子网数量相对应。您需要在 VPC 域中配置至少三个子网才能启用三个可用区部署。有关配置 VPC 的更多信息,请参阅我们的文档

管理

符合。所有能够访问公共 Internet 的程序均可通过公有端点访问 Amazon OpenSearch Service 域。如果您的数据中心已通过 Direct Connect 或 SSH 隧道连接了 Amazon VPC,您还可以通过 VPC 访问。这两种情况下,您都可以通过配置 IAM 策略和安全规则组,来允许在 AWS 外部的服务器上运行的程序访问 Amazon OpenSearch Service 域。 单击此处可以了解有关签名请求的更多信息。

要从现有 Elasticsearch 或 OpenSearch 集群迁移数据,您应创建现有集群的快照,并将该快照存储在 Amazon S3 存储桶中。然后,您可以创建一个新的 Amazon OpenSearch Service 域,使用还原 API 将快照中的数据加载到新创建的 Amazon OpenSearch Service 域中。

Amazon OpenSearch Service 允许您使用控制台、API 和 CLI 控制 Amazon OpenSearch Service 域的扩展。您可以根据应用程序需求,通过添加、删除或修改实例或存储卷扩展您的 Amazon OpenSearch Service 域。Amazon OpenSearch Service 与 Amazon CloudWatch 集成以提供有关 Amazon OpenSearch Service 域状态的指标,从而使您能够为域做出适当的扩展决策。

不需要。通过添加或修改实例和存储卷扩展 Amazon OpenSearch Service 域是一项在线操作,完全不需要停机。

符合。如果为 OpenSearch/Elasticsearch 索引启用副本并使用多个可用区,则 Amazon OpenSearch Service 会自动在不同可用区中的实例之间分发主分片和副本分片。

符合。Amazon OpenSearch Service 通过 Amazon CloudWatch 公开了多个性能指标,包括节点数量、集群运行状况、可搜索文档、EBS 指标(如果适用的话)、数据节点和主节点的 CPU、内存以及磁盘利用率。请参阅服务文档了解可用 CloudWatch 指标的完整列表。

符合。AWS CloudTrail 是一项 Web 服务,为您的账户记录 AWS API 调用并为您提供日志文件。由 AWS CloudTrail 生成的 AWS API 调用历史记录可支持安全性分析、资源更改跟踪及合规性审核。您可以访问 AWS CloudTrail 详细信息页面了解有关 AWS CloudTrail 的更多信息,还可以通过 CloudTrail 的“AWS 管理控制台”主页进行查看。

快照是 Amazon OpenSearch Service 域在某一时刻的副本。

对于因节点故障以及不太可能出现的硬件故障造成的数据丢失,创建快照非常有用。您可以使用快照恢复具有预加载数据的 Amazon OpenSearch Service 域,或者创建具有预加载数据的新 Amazon OpenSearch Service 域。使用备份的另一个常见原因是用于存档。快照存储在 Amazon S3 中。

符合。默认情况下,Amazon OpenSearch Service 每小时会为每个 Amazon OpenSearch Service 域自动创建快照,并将其保留 14 天。

Amazon OpenSearch Service 会保留过去 14 天自动创建的每小时快照。

自动创建的每小时快照没有额外费用。快照免费存储在 Amazon OpenSearch Service S3 的存储桶中,并且可用于节点恢复。

符合。除 Amazon OpenSearch Service 创建的每日自动快照外,您可以使用 OpenSearch 快照 API 手动创建其他快照。手动快照存储在您的 S3 存储桶中,且将产生相关的 Amazon S3 使用费用。

符合。客户可以创建新的 Amazon OpenSearch Service 域,并使用 OpenSearch/Elasticsearch 还原 API 将快照中的数据加载到新建的 Amazon OpenSearch Service 域中。

删除域时,将同时删除由 Amazon OpenSearch Service 保留的每日快照。删除域之前,您应该考虑使用手动快照流程在您自己的 S3 存储桶中创建该域的快照。如果您删除 Amazon OpenSearch Service 域,存储在 S3 存储桶中的快照将不受影响。

Amazon OpenSearch Service 会通过 Amazon CloudWatch Logs 发布三种 Elasticsearch 或 OpenSearch 日志:错误日志、慢搜索日志和慢索引日志。这些日志对于排查某个域的性能和稳定性问题非常有用。

慢日志是一种日志文件,可以帮助您跟踪一项操作在不同阶段的性能。OpenSearch 和 Elasticsearch 发布两种类型的慢日志:

  • 索引慢日志 – 这种日志可以让您了解索引过程,能够用来微调索引设置。
  • 慢搜索日志 – 这种日志可以让您深入了解查询和获取操作的执行速度,并且可以帮助您优化 OpenSearch 或 Elasticsearch 上任何类型的搜索操作的性能。

有关慢日志的更多详细信息,请参阅 OpenSearch 文档

您可以通过单击控制台中的按钮或者通过 CLI 或 API 来启用慢日志。有关更多详细信息,请参阅我们的文档

符合。您可以更新针对特定索引的设置,从而为其启用或禁用慢日志。更多详细信息,请参阅我们的文档

在 Amazon OpenSearch Service 中打开慢日志后,您可以针对指定域中的索引,将生成的日志发布到 Amazon CloudWatch Logs。但是,要生成日志,您必须更新针对一个或多个索引的设置,这样才能启动日志记录过程。有关设置索引配置以启用慢日志的更多详细信息,请参阅我们的文档

不,是否生成日志文件取决于索引设置。要停止生成日志文件,您必须更新索引配置。有关设置索引配置以启用慢日志的更多详细信息,请参阅我们的文档

您只能更改慢日志的日志记录粒度。OpenSearch 和 Elasticsearch 为慢日志提供了多个级别的日志记录。您需要在索引配置中设置适当的级别。有关设置索引配置以启用慢日志的更多详细信息,请参阅 OpenSearch 文档

启用慢日志或错误日志之后,Amazon OpenSearch Service 会向 CloudWatch Logs 发布生成的日志。Amazon OpenSearch Service 不会针对启用日志收取任何费用。但是,我们会收取标准的 CloudWatch 费用

OpenSearch 使用 Apache Log4j 2 及其内置日志级别(严重级别从最低到最高):TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL。如果启用错误日志,Amazon OpenSearch Service 会将 WARN、ERROR、FATAL 级别的日志行以及从 DEBUG 级别选择的错误发布到 CloudWatch。更多详细信息,请参阅我们的文档

您可以通过单击 AWS 控制台中的按钮或者通过 CLI 或 API 来启用错误日志。有关更多详细信息,请参阅我们的文档

不可以,系统将会发布整个域的错误日志。也就是说,一旦您启用错误日志,系统便会公开来自域中所有索引的日志条目。

不可以,只有 Elasticsearch 5.x 及更高版本才可使用错误日志。

符合。发布到 CloudWatch 的每个日志条目的大小不得超过 255000 个字符。超出这一限制的日志条目会被截断为 255000 个字符。

CloudWatch 支持多种日志使用方式。您可以查看日志数据将日志导入 S3 或者实时处理日志。更多详细信息,请参阅 CloudWatch Logs 开发人员指南

是的,Amazon OpenSearch Service 支持的所有 OpenSearch 和 Elasticsearch 版本都可以启用慢日志。但是,为不同版本的 Elasticsearch 指定日志设置的方式会稍有不同。有关更多详细信息,请参阅我们的文档

不会发生中断。每次日志状态更新时,我们都会在后台部署一个新集群,并用其替换已有集群。这一过程不会造成任何中断。但是,由于部署了新群集,日志状态不会即时更新。

Amazon OpenSearch Service 目前支持所有 OpenSearch 版本或 Elasticsearch 5.x 及更高版本的域的就地升级。我们支持升级的目标版本是 5.6、6.3、6.4、6.5、6.7、6.8、7.1、7.4、7.7、7.8、7.9 和 7.10。 更多详细信息,请参阅我们的文档

请参阅我们的文档,以了解从不同 Elasticsearch 版本进行迁移的详细信息。

不会。您的域在升级过程中仍然可用。但是,部分升级过程涉及分片的重新分配,这可能会影响域的性能。建议在您的域负载较低时进行升级。

就地版本升级功能仅适用于运行 Elasticsearch 5.x 及更高版本的域。如果您的域是 5.x 及更高版本,您可以运行升级资格检查来验证您的域能否升级为所需版本。更多详细信息,请参阅我们的文档

有关我们为验证升级资格而运行的测试的详细列表,请参阅我们的文档

不能。启动就地版本升级后,您就无法更改域配置,直到升级完成或失败为止。在升级过程中,您可以继续读取和写入数据。另外,您可以删除该域,在这种情况下,系统会终止升级并将该域删除。

版本升级过程会自动创建系统快照,并且只在快照创建成功后才启动实际升级。如果在升级过程中到达了自动快照的开始时间,则系统会在当天跳过自动快照,并在第二天继续。

Amazon OpenSearch Service 会在启动升级之前运行一组测试,以便检查可能阻碍升级的已知问题。如果未出现问题,该服务会创建域的快照并在快照创建成功后启动升级过程。如果任何步骤遇到任何问题,则不会启动升级。

如果遇到的问题较小且可修复,Amazon OpenSearch Service 会自动尝试解决问题并解除升级锁定。但是,如果问题阻碍了升级,该服务将恢复到升级之前创建的快照并记录错误。有关查看升级过程日志的更多详细信息,请参阅我们的文档

符合。您可以从 AWS 控制台查看升级日志或使用 CLI 或 SDK 请求升级日志。请参阅我们的文档,了解更多详细信息。

不可以。升级一旦启动就无法暂停或取消,直到升级完成或失败为止。

符合。但是,如果您想让所有域保持同一版本,我们建议在升级之前在所有域上运行升级资格检查。这一额外步骤有助于发现在某个域中存在、但在其他域中可能不存在的问题。

根据数据量和集群的大小,升级可能需要几分钟到几个小时的时间。

不可以。进行就地版本升级时,集群中的所有数据也会在升级过程中恢复。如果您只想单独升级域,您可以进行数据快照,删除域中的所有索引,然后再触发就地版本升级。此外,您还可以使用较新版本创建单独的域,然后将数据还原到该域。

否。如果您需要降级到较旧版本,请联系 AWS Support,以在新域上恢复升级前自动创建的快照。如果您对原始域进行了手动快照,您可以自行执行恢复步骤。

带备用实例的多可用区

带备用实例的多可用区是 Amazon OpenSearch Service 的新部署选项,可为业务关键型工作负载提供高可用性和一致的性能。借助带备用实例的多可用区,OpenSearch Service 托管集群可以灵活应对节点丢失或单个可用区故障等基础设施故障,从而确保即使在单个可用区出现故障时也不会对性能或可用性产生影响。带备用实例的多可用区通过实施最佳实践和降低复杂性,提供简化集群配置和管理的额外优势。

要启用带备用实例的多可用区,托管集群需要满足以下条件:

  • 运行 OpenSearch 1.3 或更高的最新版本。
  • 在带有 3-AZ 的 AWS 区域中部署。目前,AWS 北加利福尼亚区域不支持 3-AZ,因此不适用于带备用实例的多可用区。
  • 数据节点的数量必须是三的倍数。
  • 数据副本(主 + 副本)的数量应为三的倍数。
  • 遵循领导者的大小准则(根据集群中的节点数量、分片数量和映射数量建议大小)。

借助带备用实例的多可用区,Amazon OpenSearch Service 可检测某些基础设施故障并自动从中恢复。发生以下任何事件时,Amazon OpenSearch Service 会在不到一分钟的时间内自动从活动节点故障转移到备用节点:

  • 丢失一个活动可用区或活动可用区中的所有节点
  • 与一个活动可用区的连接中断
  • 活动可用区中的实例出现硬件故障
  • 活动可用区中的节点出现存储故障

目前,带备用实例的多可用区不涵盖以下事件:

  • 丢失主 Quorum,因为从该事件中恢复可能需要几分钟
  • 丢失多个可用区
  • 与某个区域的连接中断
  • 在多个可用区中丢失超过 50% 的节点
  • 由于工作负载特征变化导致的计算或存储不足而产生的停机
  • 由于恶意查询而导致的停机
  • Amazon OpenSearch Service 依赖的一项或多项服务丢失,例如 ARPS 和 ALB
  • 版本升级期间 OpenSearch 控制面板的停机时间

不需要。原则上,大小准则保持不变。带备用实例的多可用区具有简化集群调整规模所需思维模式的先决条件。考虑托管集群调整规模的方法是,您应该考虑为工作负载提供服务所需的容量,然后增加 50% 以实现冗余。当前的“区域感知”选项和带备用实例的多可用区选项之间的主要区别在于如何处理冗余或额外容量以保持可用性。带备用实例的多可用区要求您在每个可用区中至少有一个数据副本,以便带备用实例的多可用区可以在一个可用区中明确预留容量作为备用。在可用区中断或实例故障期间,此备用容量充当失效转移目标。现有模型要求您保持最佳资源水平以满足工作负载的需求。您将继续监控集群的规模问题,并在工作负载特征变化时采取纠正措施。

不。Amazon OpenSearch Service 采用责任共担模式。您有责任确保集群的大小与自己的工作负载相符。带备用实例的多可用区使设置集群的思维模式变得简单。您应继续监控错误和延迟指标以及存储、CPU 和 RAM 利用率,以查看集群超载且可能需要扩展的信号。

不会。带备用实例的多可用区功能无需额外付费。您继续为部署在集群上以服务工作负载的资源付费。如果您的集群已经遵循最佳实践,并且至少有三个 3-AZ 集群的数据副本,则迁移到带备用实例的多可用区不太可能产生额外费用。但是,如果您的集群规模过小或没有足够的冗余容量来为工作负载提供服务,则需要增加容量才能迁移到带备用实例的多可用区,以增强可用性和性能。备用容量是从配置的总容量中预留的。

服务水平协议

我们的 Amazon OpenSearch Service SLA 可保证 Amazon OpenSearch Service 的月度正常运行时间百分比至少达到 99.9%。

如果 Amazon OpenSearch Service 上的多可用区域在任何每月计费周期中的月度正常运行时间百分比低于 99.9%,则按照 Amazon OpenSearch Service SLA,您符合 Amazon OpenSearch Service 的 SLA 抵扣资格。

如需 SLA 的所有条款与条件的完整详细信息,以及如何提交索赔的详细信息,请参阅 Amazon OpenSearch Service SLA 详细信息页面

跨集群复制

跨集群复制是一项新功能,它允许 Amazon OpenSearch Service 客户在相同或不同的 AWS 区域中以低延迟自动将索引从一个集群复制和同步到另一个集群。

参与跨集群复制的域需要满足以下条件:

  • 参与的域应使用 Elasticsearch 7.10
  • 参与的域需要启用传输中加密功能
  • 参与的域需要启用细粒度访问控制(FGAC)功能
  • 参与的域版本应遵循与滚动版本升级相同的规则

可以。两个不同 AWS 区域中的域可以参与跨集群复制。

不支持。跨集群复制的当前实施不支持 Ultrawarm 或 Cold Storage。

符合。您需要为传入和传出 Amazon OpenSearch Service 的数据支付标准的 AWS 数据传输费用。

名称变更

我们于 2021 年 4 月 12 日发布了 OpenSearch 项目,这是由社区开发的 Elasticsearch 和 Kibana 开源分支。我们承诺长期投入 OpenSearch,以确保用户继续获得安全、高质量、完全开源的搜索和分析套件,并建立丰富的新功能和创新路线图。此项目包括 OpenSearch(源自 Elasticsearch 7.10.2)和 OpenSearch Dashboards(源自 Kibana 7.10.2)。我们于 2021 年 7 月 12 日发布了 OpenSearch 的1.0 版本。作为对 OpenSearch 的长期承诺的一部分,我们于 2021 年 9 月 7 日在托管服务中增加了对 OpenSearch 1.0 的支持,并将名称从 Amazon Elasticsearch Service 变更为 Amazon OpenSearch Service。除了 OpenSearch 1.0 之外,我们还继续支持在服务中使用 7.10 及之前版本的 Elasticsearch。除了名称变更之外,其他方面您都无需担心,我们将继续提供同样出色的体验,而不会对现有的操作、开发方法或业务使用产生任何影响。您可以从此处了解更多关于 OpenSearch 的信息:https://opensearch.org

我们设法让此次名称变更尽可能无缝地融入您的体验。但有些方面,例如新的开发工具包/配置 API,会要求您采取一些措施以确保从服务中获得最大优势。虽然从兼容性角度来说现有的开发工具包可以继续使用,但是需要新配置 API 的任何新功能都将仅在新的开发工具包中实现。因此,我们建议您改用新开发工具包。此外,无论是否使用新开发工具包,我们都强烈建议您迁移现有 IAM 策略以使用重命名的配置 API。迄今为止,您的现有 IAM 策略都将继续适用于旧的 API 定义。但是,我们将逐渐过渡到基于新 API 的权限验证,最终我们将要求您在策略中使用新 API(尤其是对发生了名称变更的 API;例如,从 CreateElasticsearchDomain 变更为 CreateDomain)。请参阅文档以了解更多详细信息。

不。从向后兼容的角度来说,我们将确保现有的设置继续适用于 OpenSearch 1.0。但是,我们建议您最终改用最新的开发工具包,以获得上面所述的更清晰的最新体验。

不,定价没有变化。

OpenSearch 包括某些来自 Elasticsearch B.V. 和其他源代码且经 Apache 许可的 Elasticsearch 代码。Elasticsearch B.V. 不是该其他源代码的来源。ELASTICSEARCH 是 Elasticsearch B.V. 的注册商标

升级

升级到 OpenSearch 1.x 可以确保您的搜索基础设施建立在一个不断发展和变化的并且是 Apache 许可的开源项目上,并使您能够访问 OpenSearch 1.2(截至本文撰写之时)中提供的大量创新改进和功能。 企业级安全、警报、数据生命周期管理、可观察性、基于 ML 的异常检测等功能都是 OpenSearch Service 的一部分,无需额外的许可费。

我们在升级期间使用蓝/绿(BG)部署过程。在 BG 期间,该服务会向新配置和新版本的 OpenSearch Service 集群中添加节点,从旧节点迁移数据,并在数据迁移完成后删除旧节点。在 BG 期间,搜索和索引 API 依然可用,并且可以正常使用。虽然 BG 的设计不会干扰查询和索引请求,但某些更改(尤其是涉及安全相关设置的更改)可能会导致仪表板在更改期间不可用。

AWS 维护了 19 个 Apache-2.0 许可的 Elasticsearch 版本。目前,这些版本均未弃用或计划弃用。

是的,升级将触发 BG 部署过程。请在此处查看升级准备和步骤。

请与您的 AWS 客户团队合作,根据您 RI 的具体情况获取相关信息。

OpenSearch 项目 1.0 是开源 Elasticsearch 7.10.2 的一个分支。其与 Elasticsearch 7.10 兼容,您无需更改使用方法。如需迁移,您可以将域从 6.x 和 7.x 系列中的任何早期版本升级到 Elasticsearch 7.10 版本,获取快照,并将该快照还原到运行 OpenSearch Service 1.x 的域。一些客户端或工具包含版本检查,可能导致客户端或工具无法与 OpenSearch Service 一起工作。升级时,启用兼容性模式可以绕过这些版本检查。

在大多数情况下,您可以继续使用现有客户端。API 和核心搜索功能与 Elasticsearch 7.10.2 版本兼容。如果您的客户端版本较旧、客户端会执行版本检查,或者客户端要使用针对 Elasticsearch 较旧版本(如主版本 5 或 6)的功能,那么我们建议您尝试将您的客户端提高到 7.10.2 支持的最低标准,以确保平稳过渡。

OpenSearch 项目支持广泛的客户端,专门为解决 Amazon OpenSearch Service 上引擎的 OpenSearch 版本而构建。根据最新的 OpenSearch 客户端列表和这些客户端支持的编程语言检查您的客户端。

您可以启用兼容性模式功能与其他供应商的客户端进行互操作,但请记住检查 OpenSearch 报告的版本。启用此设置可确保服务使用 7.10.2 版本响应在引入 OpenSearch Service 引擎之前开发的客户端。

Elasticsearch 5.x 索引与 Elasticsearch 7.10 或 OpenSearch 1.x 不兼容。您必须创建一个新索引并从源加载数据。如果您正在运行日志分析工作负载,则可以在新域上构建完整数据集时,评估数据留存策略是否支持并行运行。

是的,请联系 opensearchmigration-si-support@amazon.com,根据您所在地区、行业和项目的复杂性,请求合作伙伴列表。AWS 合作伙伴网络(APN)合作伙伴经过培训,具有丰富的经验帮助您升级。 

OpenSearch 1.0 是 Elasticsearch 7.10.2 的一个分支。OpenSearch 和 Elasticsearch 兼容。如果启用兼容模式,Elasticsearch 客户端还可以与 OpenSearch 1.0 兼容。

Amazon OpenSearch Service 没有也不会提供 7.10.2 版之后的 Elasticsearch 引擎版本。

正如 AWS 在推出 Elasticsearch 时宣布的,我们计划围绕 OpenSearch 建立一个蓬勃发展的社区。我们已经发布了 OpenSearch 的路线图,包括社区意见和对功能优先级的共识。我们将尽一切合理努力保持与 Elasticsearch 的兼容性。我们的目标是与我们的社区和 Amazon OpenSearch Service 客户一起成长。

您可以直接从 Elasticsearch 和 Kibana 版本 6.8.0 至 7.10.2,以及 open distro for Elasticsearch(ODFE)1.x 升级到 OpenSearch Service 1.0。对于从 ODFE 到 OpenSearch 的滚动升级,我们建议首先升级到 ODFE 1.13,然后升级到 OpenSearch 1.0。

迁移资源如下:

分析迁移

迁移至 Amazon OpenSearch Service

零 ETL 集成

这种与 Amazon DynamoDB 的零 ETL 集成简化了将数据从操作性数据存储复制到搜索数据存储的操作复杂性。构建和管理用于保持不同数据存储同步的数据管道可能棘手且成本高昂,并且会出现难以跟踪的间歇性错误。此集成使 Amazon DynamoDB 客户能够通过提供完全托管的解决方案,从其操作性数据中获得近乎实时的搜索结果,确保事务性数据从 Amazon DynamoDB 写入后,在几秒钟内就能在 Amazon OpenSearch Service 中使用。

Amazon OpenSearch Service 与 Amazon DynamoDB 的零 ETL 集成使用 Amazon OpenSearch Ingestion 将操作性数据从 Amazon DynamoDB 无缝移动到 Amazon OpenSearch Service。要启用集成,客户首先要选择需要复制数据的 Amazon DynamoDB 表。此零 ETL 集成功能会在客户账户中设置 Amazon OpenSearch Ingestion 管道,该管道负责将数据复制到 Amazon OpenSearch Service 托管集群或无服务器集合。Amazon OpenSearch Ingestion 理解 Amazon DynamoDB 表的结构,然后使用来自 DynamoDB 表的现有数据启动 Amazon OpenSearch Service 托管集群或无服务器集合。或者,客户可以为将在 Amazon OpenSearch Service 中创建的索引指定架构。DynamoDB 表的任何更新也将复制到 Amazon OpenSearch Service,无需客户进行任何手动干预。

这项零 ETL 功能使用 Amazon OpenSearch Ingestion 将数据从 Amazon DynamoDB 转移到 Amazon OpenSearch Service,并利用 Amazon OpenSearch Ingestion 流水线的原生数据转换功能在数据传输过程中对数据进行聚合和筛选。从 Amazon DynamoDB 表中移动数据时,客户可能希望删除一些字段或根据现有字段的聚合创建新字段。客户还可以选择为 Amazon OpenSearch Ingestion 编写自定义逻辑,以实现定制的转换功能。对于其他只想将全部数据从源移至目标位置的用户,Amazon OpenSearch Ingestion 将提供开箱即用的蓝图,这样他们只需单击几下按钮即可执行集成。

为确保 Amazon OpenSearch Ingestion 拥有在这两个系统间复制数据的必要权限,零 ETL 集成功能会创建一个 IAM 角色,该角色具有从 Amazon DynamoDB 表中读取数据并写入 Amazon OpenSearch 域或集合所需的权限。然后,Amazon OpenSearch Ingestion 管道将担任此角色,以确保在将数据从源移至目标时始终保持正确的安全状态。

您可以在 Amazon OpenSearch Ingestion 提供的控制面板上查看与 Amazon DynamoDB 的零 ETL 集成相关的所有指标,以及 Amazon CloudWatch 中的实时日志。这使客户能够设置自定义警报,在违反用户定义的阈值时触发。

OpenSearch Service 查询引擎已重新架构,以支持对存储在云对象存储(例如 Amazon S3 和基于 S3 的数据湖)中的操作数据进行分析。该功能在执行此操作时无需复制数据。如果在几秒钟内就会发生变化,客户可以通过使用新集成内置的查询加速功能来提高查询性能并构建快速加载的控制面板。

要从 AWS 管理控制台开始,客户需要从运行 OpenSearch Service 版本 2.11 或更高版本的现有 OpenSearch Service 域设置新的数据来源。设置新的直接查询数据来源时,客户需要提供对 Amazon S3 和 AWS Glue Data Catalog 的读/写访问权限,以便从 OpenSearch Service 查询 Amazon S3 中的数据。客户可以自定义 IAM policy 以限制对 Amazon S3 中的特定存储桶或 AWS Glue Data Catalog 中资源的访问。在控制台中配置新的数据来源后,客户需要转到 OpenSearch Service 配置基于角色的访问控制、用于提升查询性能的加速设置,以及可选的用于热门日志类型模板(例如 VPC 流日志、弹性负载均衡器日志和 NGINX 日志)的现成控制面板。客户需要为以直接查询 OpenSearch 计算单元(OCU;适用使用费率)形式消耗的计算资源付费。配置新的数据来源后,客户可以开始直接从 OpenSearch API 或 OpenSearch 控制面板查询数据。

客户只需为其工作负载消耗的资源付费。OpenSearch Service 仅收取直接查询外部数据以及在 OpenSearch Service 中维护可选索引所需的计算费用。计算容量以 OpenSearch 计算单元(OCU)为单位,这与 Amazon OpenSearch 无服务器和 Amazon OpenSearch Ingestion 使用的单位相同。OCU 的数量直接对应于根据数据查询或维护索引所需的 vCPU 和内存。客户将在 OCU-小时中看到一个带有直接查询标签的计算条目。OCU 按小时计费,粒度为每分钟。如果没有任何查询或索引活动处于活动状态,则不会消耗任何 OCU。Amazon S3 或 AWS Glue Data Catalog 的费用将在客户的账户中单独计费。有关定价详情,请访问 Amazon OpenSearch Service 定价页面