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

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

Amazon OpenSearch Service 的 OR1 存储

OR1 是 Amazon OpenSearch Service 的一个实例系列,它通过经济高效的方式存储大量数据。使用 OR1 实例的域将 Amazon Elastic Block Store(Amazon EBS)gp3io1 卷作为主存储,并在数据到达时同步复制到 Amazon S3。这种存储结构提供更高的索引吞吐量和较高的耐久性。OR1 实例系列还支持在发生故障时自动恢复数据。有关 OR1 实例类选项的信息,请参阅 当前一代实例类型

如果您要运行有大量索引的运营分析工作负载,例如日志分析、可观测性或安全分析,则可以利用 OR1 实例更好的性能和计算效率优势。此外,OR1 实例提供的自动数据恢复功能也可提高域的整体可靠性。

OpenSearch Service 会向 Amazon CloudWatch 发送与存储相关的 OR1 指标。有关可用指标的列表,请参阅 OR1指标

OR1 实例可按需使用,也可使用预留实例定价,对于在 Amazon EBS 和 Amazon S3 中预置的实例和存储按小时收费。

限制

将 OR1 实例用于域时,请注意以下限制。

  • 新创建的域必须运行 OpenSearch 版本 2.11 及更高版本。

  • 现有的域必须运行 OpenSearch 版本 2.15 及更高版本。

  • 域必须启用静态加密。有关更多信息,请参阅 为 Amazon OpenSearch 服务加密静态数据

  • 如果您的域使用专用主节点,则这些节点必须使用 Graviton 实例。有关专用主节点的更多信息,请参阅 Amazon OpenSearch 服务中的专用主节点

  • OR1 实例上的索引刷新间隔必须为 10 秒或更长。OR1 实例的默认刷新间隔为 10 秒。

进行微调以提高摄取吞吐量

要利用 OR1 实例获得最佳的索引吞吐量,建议您执行以下操作:

  • 使用大批量大小来提高缓冲区利用率。建议的大小为 10 MB。

  • 使用多个客户端来提高并行处理性能。

  • 活动主分片数量的设置要与数据节点的数量相匹配,从而尽可能提高资源利用率。

OpenSearch 优化型实例与非 OpenSearch 优化型实例有何不同

OpenSearch 优化型实例与非 OpenSearch 优化型实例的区别如下:

  • OpenSearch 优化型实例仅在主分片上创建索引。

  • 如果 OpenSearch 优化型实例配置了副本,则显示的索引创建速率可能低于实际水平。例如,假设有 1 个主分片和 1 个副本分片,则索引创建速率可能显示为 1000,但实际索引创建速率为 2000。

  • OpenSearch 优化型实例在发送到远程源之前会执行缓冲操作。这会导致摄取延迟更高。

    注意

    IndexingLatency 指标不受影响,因为该指标不包括同步 translog 的时间。

  • 副本分片相比主分片可能有几秒的延迟。延迟量可通过 ReplicationLagMaxTime 指标查看。

OR1 与 UltraWarm 存储有何不同

OpenSearch Service 提供了 UltraWarm 实例,从而以经济高效的方式存储大量只读数据。OR1 和 UltraWarm 实例都在本地将数据存储在 Amazon EBS 中,并远程将数据存储在 Amazon S3 中。但 OR1 和 UltraWarm 实例之间存在以下几个重要的区别:

  • OR1 实例在本地和远程存储中保存了一份数据。而对于 UltraWarm 实例,数据主要保存在远程存储中,从而降低存储成本。根据您的使用模式,可以将数据移动到本地存储。

  • OR1 实例处于活动状态,可以接受读取和写入操作,而在您手动将数据移回热存储之前, UltraWarm 实例上的数据是只读的。

  • UltraWarm 依靠索引快照来保证数据的持久性。与此相对,OR1 实例在幕后执行复制和恢复。如果索引为红色,OR1 实例将自动从 Amazon S3 中的远程存储中恢复缺失的分片。恢复时间因要恢复的数据量而异。

有关 UltraWarm 存储的更多信息,请参阅 Amazon OpenSearch Service 的 UltraWarm 存储

使用 OR1 实例

使用 Amazon Web Services Management Console、Amazon Command Line Interface(Amazon CLI)或 Amazon SDK 创建新域时,您可以为数据节点选择 OR1 实例。您可以使用现有的工具来创建索引和查询数据。

  1. 导航到 Amazon OpenSearch Service 控制台,地址为 https://console.amazonaws.cn/aos/

  2. 在左侧导航窗格中,选择 Domains(域)。

  3. 选择创建域

  4. 输入域名以及其他首选选项。在实例系列下,选择 OR1。选择创建按钮,开始域创建过程。

  1. 导航到您的 Amazon CLI 终端。如果需要安装 Amazon CLI,请参阅安装或更新 Amazon CLI 的最新版本

  2. 要使用 OR1 存储,您必须在创建域时在 InstanceType 字段中提供具体 OR1 实例类型大小的值。此外,您还必须启用静态加密。

    以下示例使用大小为 2xlarge 的 OR1 实例创建域。

    aws opensearch create-domain \ --domain-name test-domain \ --engine-version OpenSearch_2.11 \ --cluster-config "InstanceType=or1.2xlarge.search,InstanceCount=3,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3" \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=200" \ --encryption-at-rest-options Enabled=true \ --advanced-security-options "Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions={MasterUserName=test-user,MasterUserPassword=test-password}" \ --node-to-node-encryption-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:*","Resource":"arn:aws:es:us-east-1:account-id:domain/test-domain/*"}]}'