如何通过Ultrawarm配置实际降低AWS Elasticsearch使用成本
基于Ultrawarm层的OpenSearch集群降本方案
热节点缩容失败根因
- 若当前3个热节点同时兼任*master-eligible(主节点候选)*角色,OpenSearch集群为保障脑裂防护能力,要求生产域主节点候选节点数量必须为奇数且最低3台,因此不允许直接缩容到1台
- 若热节点为专用数据节点,缩容失败说明热节点上仍有残留分片,或索引分配规则未完全排除热节点
完整操作步骤
第一步:拆分主节点与数据节点角色(核心前提)
新增3台最低规格的专用主节点(如t3.small.search,成本远低于热数据节点),待集群状态变为绿色后,关闭原有热节点的master-eligible属性,解除热节点的主节点角色限制。
第二步:清空热节点存量分片
执行如下命令验证热节点上无分片残留:
GET _cat/shards?v&h=index,shard,prirep,state,node
若仍有分片留在热节点,批量修改索引分配规则,强制所有存量索引迁移到暖层:
PUT /*/_settings { "index.routing.allocation.include.tier": "warm" }
迁移完成后确认集群状态为绿色,再进行后续操作。
第三步:调整热节点配置
- 无新增写入场景:所有数据已归档到暖层时,可将热节点缩容至1台最低配热实例,仅承担元数据管理、查询转发角色即可
- 有新增写入场景:保留2~3台最低配热节点承载近期写入数据,搭配索引生命周期策略(ILM),配置写入7/30天后自动迁移到Ultrawarm层,避免热节点存储和规格浪费
第四步:优化Ultrawarm节点配置
Ultrawarm层数据实际存储在S3中,成本仅和实例规格相关、与存储容量无关,可根据实际查询并发量选择最低适配的实例规格,无需为了存储容量升级高配实例。
操作前请先创建集群快照,避免配置错误导致数据丢失
域配置参考:
内容的提问来源于stack exchange,提问作者ahkam
相关产品推荐
相关产品推荐


