适用于 Amazon OpenSearch 服务的多层存储 - 亚马逊 OpenSearch 服务

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

适用于 Amazon OpenSearch 服务的多层存储

Amazon Ser OpenSearch vice 的多层存储是一种智能数据管理解决方案,它通过管理不同存储层的数据来优化性能和成本。这种架构允许组织通过将频繁访问的数据保存在高性能热存储中,同时将访问频率较低的数据转移到更具成本效益的温存储中,从而有效地权衡性能和成本。

Amazon OpenSearch 服务为 hot/warm 存储层提供了两种架构选项:

  • OpenSearch 多层存储架构

    • 将 Amazon S3 与本地实例存储相结合

    • 由 OpenSearch 优化实例提供支持

    • 支持暖层中的写入操作

    • 支持热层和温层之间的无缝数据迁移

    • 在 OpenSearch 3.3 及以上版本中可用

    • 不支持冰冷等级

  • UltraWarm基于体系结构

    • 将 Amazon S3 与本地实例存储相结合

    • 由 UltraWarm 实例提供支持

    • 针对只读温层工作负载进行了优化

    • 在 Elasticsearch 6.8 及以上版本以及所有版本上可用 OpenSearch

    • 支持寒冷等级

注意

本文档仅重点介绍多层架构。有关超温存储架构,请参阅超温存储和冷存储

多层存储架构

主要优势

  • Writable Warm:支持对热索引进行写入操作

  • 无缝迁移:跨存储层无缝移动数据

  • 成本优化:通过将不太活跃的数据移至经济实惠的温存储来降低存储成本

  • 性能增强:保持热层中频繁访问的数据的高性能

  • 灵活的数据管理:选择最适合您的工作负载要求的架构

  • 自动化管理:简化跨存储层的数据生命周期管理

先决条件

  • 引擎版本: OpenSearch 3.3 或更高版本

  • 实例系列:

    • 热门节点: OR1 OR2、 OM2、或 OI2

    • 温节点: OI2

  • 安全: Node-to-node加密、静态加密、强制执行 HTTPS

限制

  • 适用于所有已 OpenSearch 优化实例但尚未启用 Ultrawarm 的域名

  • 不支持冷层

需知信息

  • 在多层架构中,热到热迁移不会触发强制合并。如果需要,用户仍然可以使用索引管理策略编排强制合并。

  • 除了索引之外,温节点现在还会执行后台合并操作(类似于热点)。

  • 温索引上的所有搜索请求都路由到主分片,只有在主分片关闭时,副本才会提供读取服务。

  • 此架构还支持温索引的自动快照

  • 只有热门索引才支持跨集群复制

  • APIs 诸如 Shrink、Split 和 Clone 之类的索引不适用于热索引。

创建多层域名

步骤 1:创建域名

aws opensearch create-domain \ --domain-name my-domain \ --engine-version OpenSearch_3.3 \ --cluster-config InstanceCount=3,InstanceType=or2.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=m6g.large.search,DedicatedMasterCount=3,WarmEnabled=true,WarmCount=3,WarmType=oi2.2xlarge.search \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"user_name","MasterUserPassword":"your_pass"}}' \ --access-policies '{"Version": "2012-10-17", "Statement":[{"Effect":"Allow","Principal":"*","Action":"es:*","Resource":"*"}]}' \ --region us-east-1

步骤 2:验证温节点

aws opensearch describe-domain-nodes --domain-name my-domain --region us-east-1

响应示例(摘录):

{ "NodeType": "Warm", "InstanceType": "oi2.large.search", "NodeStatus": "Active" }

管理层迁移

多层域支持:

  • 全新分层 APIs 可简化体验

  • 兼容性 UltraWarm APIs 方面的传统

新分层 APIs

将索引迁移到 warm:

curl -XPOST 'https://localhost:9200/index-name/_tier/warm'

响应:

{"acknowledged": true}

将索引迁移到 hot:

curl -XPOST 'https://localhost:9200/index-name/_tier/hot'

响应:

{"acknowledged": true}

检查分层状态:

curl -XGET 'https://localhost:9200/index-name/_tier'

示例响应:

{ "tiering_status": { "index": "index-name", "state": "RUNNING_SHARD_RELOCATION", "source": "HOT", "target": "WARM", "start_time": 1745836500563, "shard_level_status": { "running": 0, "total": 100, "pending": 100, "succeeded": 0 } } }

详细的分片视图:

curl 'https://localhost:9200/index1/_tier?detailed=true'

列出所有正在进行的迁移(文本):

curl 'https://localhost:9200/_tier/all'

列出所有正在进行的迁移 (JSON):

curl 'https://localhost:9200/_tier/all?format=json'

按目标等级筛选:

curl 'https://localhost:9200/_tier/all?target=_warm'

兼容性 UltraWarm APIs 方面的传统

迁移到温暖模式:

curl -XPOST localhost:9200/_ultrawarm/migration/index2/_warm

迁移到 hot:

curl -XPOST localhost:9200/_ultrawarm/migration/index2/_hot

检查状态:

curl -XGET localhost:9200/_ultrawarm/migration/index2/_status

安全配置

如果您在先前存在的 Amazon Ser OpenSearch vice 域上启用多层存储,则可能无法在该域上定义该storage_tiering_manager角色。必须将非管理员用户映射到此角色,才能使用精细访问控制管理域上的温索引。手动创建 storage_tiering_manager 角色,请执行下列步骤:

  1. 在 “ OpenSearch 控制面板” 中,转至 “安全”,然后选择 “权限”。

  2. 选择创建操作组并配置以下组:

    组名 Permissions
    存储分层集群 索引:admin/_tier/all
    storage_tiering_index_read 索引:管理员/_ tier/get, indices:admin/get
    storage_tiering_index_write 索引:admin/_ _ tier/hot_to_warm, indices:admin/_tier/warm to_hot
  3. 选择角色创建角色

  4. 将角色命名为 storage_tiering_manager

  5. 对于群集权限,选择 storage_tiering_clustercluster_monitor

  6. 对于索引,键入 *

  7. 对于索引权限storage_tiering_index_read,请选择storage_tiering_index_writeindices_monitor

  8. 选择创建

  9. 创建角色后,将其映射到将管理多层索引的任何用户或后端角色。

最佳实践

在您的 Amazon Ser OpenSearch vice 域中实施多层存储时,请考虑以下最佳实践:

  • 定期审查您的数据访问模式以优化等级分配

  • 监控性能指标以确保高效的资源利用率

  • 使用新的分层 APIs 对数据迁移进行精细控制

监控指标

多层存储域为监控温层性能提供了额外的指标。这些指标包括现有 UltraWarm 指标和 OpenSearch 针对优化实例架构的新指标:

新指标

指标名称 节点等级统计 集群等级统计 粒度
WarmIndexingLatency 平均值 平均值 1 分钟
WarmIndexingRate 平均值 平均值、最大值、总和 1 分钟
WarmThreadpoolIndexingQueue 最大值 总和、最大值、平均值 1 分钟
WarmThreadpoolIndexingRejected 最大值 总和 1 分钟
WarmThreadpoolIndexingThreads 最大值 总和、平均值 1 分钟