Amazon OpenSearch Service推出基于克隆的升级:可在克隆集群上只验证读请求、切换前取消、切换后在自设保留期内回滚;仅限OpenSearch 1.1及以上或Elasticsearch 7.10,五条升级路径,验证期间两套集群都计费
2026年11月10日,AWS宣布Amazon OpenSearch Service支持基于克隆的升级:服务在目标版本上创建克隆集群并复制数据,主集群继续处理读写,用户可在两个集群上运行相同查询、用CloudWatch指标比较,满意后切换。验证只覆盖读;切换时写入被阻止直到完成,域端点不变;切换前可取消(克隆集群被删除),切换后可在自设保留期内回滚,未设保留期则主集群在切换后立即删除。适用于OpenSearch 1.1及以上或Elasticsearch 7.10,共五条升级路径,不支持使用OR1/OR2、UltraWarm或跨集群复制的域,关联了自定义或第三方插件包的域,以及对OpenSearch Dashboards使用SAML或Amazon Cognito认证的域,也排除四个区域;克隆的实例和存储按标准价计费,验证期间主集群和克隆都要付费,若为回滚保留主集群,则在保留期结束前两者都要付费。通知与指南未给出克隆构建或切换时长。
2026年11月10日,AWS宣布Amazon OpenSearch Service支持“基于克隆的升级”(clone-based upgrade)。通知说,现在可以把新的OpenSearch版本与当前版本并排验证,满意后才切换。如果发现问题,可以在切换前取消,也可以在切换后回滚。本文依据这份通知和OpenSearch Service开发者指南中关于版本迁移的页面,后者写明了步骤、限制和费用。本文不谈克隆建成有多快,因为这两页都没有给出基于克隆的升级的耗时。
旧方法是原地升级(in-place upgrade)。指南说它以蓝绿部署的方式升级域的现有集群,不能暂停、取消或回滚。它适用于OpenSearch 1.0或更高版本、Elasticsearch 5.1或更高版本。指南说,尽管升级前会先运行检查,升级完成后升级后的集群立即接管,原地升级可能需要15分钟到数小时,期间OpenSearch Dashboards可能不可用。原地升级之后若要回到早先版本,指南说要在新域上恢复快照。
基于克隆的升级不一样。OpenSearch Service在目标版本上创建第二个集群,即克隆集群,并把你的数据复制过去。域当前运行的集群是主集群,它继续处理流量。指南列出六个步骤。第一步运行升级前检查,与原地升级相同,检查不通过就不会继续。第二步做快照,同样不成功就不继续。第三步创建克隆集群并复制数据;在此期间域仍由主集群处理读写,克隆集群保持同步。第四步,升级等待你验证克隆集群。通知说,可以在两个集群上运行同样的搜索查询,用Amazon CloudWatch指标比较性能,指南补充说还可以选择把一部分读流量导向克隆集群。第五步是切换。第六步是可选的保留期。
有几个条件容易被忽略。验证只覆盖读:指南说可以用你自己的读请求验证克隆集群,仅此而已。切换期间,OpenSearch Service会阻止写入,直到切换完成,这段时间克隆集群追上数据,流量转移过去。指南说域端点不会改变。回滚只能在切换之后、并且只能在你设定的保留期内进行。保留期从切换完成时开始。如果没有设置保留期,指南说OpenSearch Service会在切换后立即删除主集群,也就没有可以回滚的对象。在切换前取消,则会删除克隆集群,域保持原样。
资格规则很窄。通知说,基于克隆的升级适用于运行OpenSearch 1.1或更高版本、或Elasticsearch 7.10的域,在提供该服务的AWS商业区域内可用,但亚太(新西兰)、亚太(台北)、亚太(泰国)和墨西哥(中部)除外。指南列出五条受支持的升级路径:Elasticsearch 7.10到OpenSearch 1.3,OpenSearch 1.1到1.3,OpenSearch 1.3到2.19,OpenSearch 2.x到2.19,以及OpenSearch 2.19到3.x。其他路径,指南说要用原地升级。指南还列出不受支持的域:使用OpenSearch优化实例(OR1或OR2)、UltraWarm实例或跨集群复制的域,关联了自定义或第三方插件包的域,以及对OpenSearch Dashboards使用SAML或Amazon Cognito认证的域。升级期间也不能更改域的配置。
费用规则写得很明确。原地升级不产生额外费用。基于克隆的升级,克隆集群的实例和存储按标准价格计费,与其他节点一样。验证期间主集群和克隆集群都要付费;如果为回滚保留主集群,则在保留期结束前两者都要付费。通知和指南都没有给出美元金额。因此验证时间越长、保留期越长,为两套集群同时付费的时间就越长;额外费用是多少,取决于你自己选择的实例和存储,以及标准价格。
任何升级之前,指南要求做三件事:手动做一次快照,想退回早先版本时可以在新域上恢复;检查受支持的升级路径;运行升级前检查。它还提醒,如果你用Amazon Data Firehose或Amazon CloudWatch Logs这类服务向OpenSearch Service写入数据,迁移前要确认这些服务支持较新的版本。故障排查表列出了会阻止升级的情况,比如单个节点分片超过1,000个、磁盘使用率超过90%、JVM内存压力超过75%、集群状态为红色。这些检查对两种升级方式都适用。
这两页没有写的内容,对规划很重要。它们没有给出克隆建成或追上数据要多久的测量,没有说明切换期间写入被阻止多长时间,也没有证据说明克隆集群的性能能在多大程度上预测生产环境的性能。指南说验证只覆盖读,所以这个验证阶段不能直接检验写入表现。以下是本文的判断,不是AWS的说法:写入量大的团队应另行安排非生产环境的写入测试和切换演练;想要这张安全网的团队,还应在非生产域上测量切换耗时,事先决定主集群保留多久,并为这段时间的两套集群编预算。
Sources
FAQ
基于克隆的升级验证时能测试写入吗,切换时会怎样?
不能。指南说验证只覆盖读请求。切换时OpenSearch Service会阻止写入直到切换完成,期间克隆集群追上数据、流量转移,域端点不变。两页文档都没有给出写入被阻止的时长。
切换之后还能回滚吗?有什么条件?
可以,但只能在你设定的保留期内,保留期从切换完成时开始计算。如果没有设置保留期,OpenSearch Service会在切换后立即删除主集群,就无法回滚。保留主集群期间,主集群和克隆集群都要按标准价格付费。
在提供该服务的AWS商业区域(新西兰、台北、泰国和墨西哥(中部)除外)中,哪些域不能使用基于克隆的升级?
限Elasticsearch 7.10或OpenSearch 1.1+的五条路径;不支持OR1/OR2、UltraWarm、跨集群复制、关联自定义或第三方插件包、对OpenSearch Dashboards用SAML或Cognito认证的域。