You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSearch 1.3升级至2.3后CloudFormation域名更新失败求助

解决方案:OpenSearch升级后CloudFormation堆栈阻塞问题

报错原因分析

报错DP Nodes are OOS, Tags operation is not allowed的核心是数据处理(DP)节点处于不可用(OOS)状态,此时CloudFormation尝试同步模板中的标签配置被拒绝,导致堆栈更新失败并进入回滚阻塞状态。

分步解决步骤

1. 确认DP节点状态

  • 登录AWS OpenSearch控制台,进入目标集群的「节点」页面,检查DP节点的运行状态,确认是否存在未就绪、故障或资源耗尽的节点。
  • 用OpenSearch API查询节点详情:
    curl -X GET "<your-opensearch-endpoint>/_cat/nodes?v" -u <username>:<password>
    
    查看输出中的status列,确保所有DP节点状态为green,且角色标识包含dp。

2. 修复DP节点的OOS状态

  • 资源耗尽场景:查看CloudWatch中该集群的CPUUtilization、JVMMemoryPressure指标,若指标过高,直接通过控制台或CDK扩容DP节点实例规格或数量,等待节点重启并恢复健康。
  • 初始化/分片迁移场景:升级后DP节点可能在执行分片迁移或数据加载,等待30-60分钟,查看节点状态是否自动恢复。
  • 节点故障场景:如果节点长时间未恢复,在控制台手动移除故障节点,让OpenSearch自动重建新的DP节点。

3. 解除CloudFormation堆栈阻塞

  • 当DP节点恢复正常后,进入CloudFormation控制台,找到目标堆栈,选择「继续回滚」操作,确保回滚配置包含Domain资源,让堆栈完成回滚流程。
  • 若回滚仍失败,手动同步Domain标签与CloudFormation模板定义:
    1. 查询当前Domain标签:
      aws opensearch list-tags --domain-name <your-domain-name>
      
    2. 对比CDK模板中的标签配置,用CLI同步标签:
      aws opensearch add-tags --domain-name <your-domain-name> --tags Key1=Value1,Key2=Value2
      
    3. 再次触发堆栈回滚或更新操作。

4. 避免后续重复问题

  • 升级OpenSearch版本前,先确认集群所有节点(含DP节点)处于ACTIVE健康状态,无OOS节点。
  • 修改CDK代码,拆分升级流程:先仅升级版本,待集群状态稳定后,再执行标签或其他配置变更。
  • 添加集群健康等待逻辑:在CDK中使用CfnWaitCondition或自定义资源,等待OpenSearch集群状态为ACTIVE且所有节点就绪后,再执行后续资源更新。

内容的提问来源于stack exchange,提问作者Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:15:27