

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

# 第 5 阶段：割接
<a name="stage-5-cutover"></a>

本阶段讨论了您可以采用的各种方法从当前的 Elasticsearch 或 OpenSearch 环境切换到目标亚马逊 OpenSearch 服务域。可以通过以下两个步骤完成割接：
+ 建立数据同步机制，使目标环境与源环境保持同步。
+ 无论是否停机，都要执行从当前环境到目标环境的切换。

## 数据同步
<a name="data-sync"></a>

对于任何接收连续数据的系统，数据迁移可能需要在迁移期间停止接收新数据，并在维护时段（可能存在停机时间）中运行迁移。如果不能承受停机时间，可以在启动迁移后捕获更改。在执行割接之前，您可以重放目标系统上的更改，使其保持更新并与源同步。以下各部分讨论了保持源和目标同步的各种方法。

**日志分析工作负载**

对于日志分析工作负载，您可以通过以下方式执行更新同步：
+ 您可以并排运行两个环境，直到保留期和对当前和目标环境的运行摄取完成为止。在某个时间点，您决定割接并将应用程序指向新环境。有时，您可以将新数据从日志或文档源提取到现有集群和目标 OpenSearch 服务环境。然后，您可以通过从当前环境中复制旧数据来回填目标环境中的旧数据。在所有情况下，您都必须确保您的数据不存在任何会影响用户的缺口。
+ 在数据迁移之前，您可以决定暂停向现有环境摄取数据。但是，这种方法意味着，在数据迁移完成之前，您的用户可能无法从现有环境中搜索最新或更改的数据。数据迁移完成后，您可以将数据摄取指向目标环境，然后将应用程序和客户端切换到目标环境。这意味着在迁移完成之前不会有新的数据可用。但是，该系统仍可供搜索。在新环境可用之前，您应该有办法将源日志和数据保存在您的源中。
+ 您可以继续使用当前日志分析引擎，直到首批数据迁移完成。然后，您可以回填自首次处理启动后产生的剩余数据。假设剩余数据比首次处理的数据少得多，那么在同步剩余数据期间，您可以暂停摄取，因为同步可能只需要几分钟或几小时。您也可以使用此方法执行几次处理，直到同步窗口变得足够小，以暂停从源环境到目标环境的摄取并在不影响用户的情况下割接到目标环境。下图显示了使用增量快照和恢复来更新或同步数据。

    
![Two-step 迁移图显示了数据从源头经过 Elasticsearch 流向。 OpenSearch Service](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/opensearch-service-migration/images/OpenSearch_1.png)

  *第 1 步*

  1. 数据通过数据摄取管道从源头流向当前的 Elasticsearch 环境和亚马逊服务域。 OpenSearch

  1. 第一个通道从 Elasticsearch 迁移到亚马逊 OpenSearch 服务域所需的时间最长。

  1. 第一次更新或同步处理所需的时间更少。

  1. 第二次更新或同步处理花需的时间最少。

  1. 数据继续从 Elasticsearch 流向应用程序。

  *步骤 2*

  1. 数据通过数据摄取管道从源流向 OpenSearch 服务域。

  1. 对当前 Elasticsearch 环境的摄取已停止。

  1. 最后一次更新或同步处理花需的时间最少。

  1. 数据从 OpenSearch 服务流向应用程序。

**搜索工作负载**

在前面讨论的三种方法中，在执行割接之前，您必须确保目标上的所有数据都是最新的。对于搜索工作负载，您可以考虑以下更新或同步的建议：
+ 对于搜索工作负载，通常会暂停从源环境到当前环境的摄取。您将当前环境中的所有数据复制到目标环境，并建立更改数据捕获（CDC）机制，以确定自迁移开始以来哪些数据发生了更改。然后，您将更改后的数据复制到 Amazon OpenSearch 环境。在大多数情况下，搜索应用程序的数据摄取管线已内置 CDC 机制，通常只需要在数据从当前环境迁移后将管线指向新环境即可。下图显示了如何完全从源为搜索使用案例构建索引。

    
![Two-step 迁移图显示了 Elasticsearch 正在连接到数据 OpenSearch Service 源。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/opensearch-service-migration/images/OpenSearch_2.png)

  *第 1 步*

  1. 暂停向当前 Elasticsearch 环境摄取数据。

  1. 数据将从服务域复制 ElasticSearch 到 OpenSearch 服务域。

  1. 数据继续从应用程序流 ElasticSearch 向应用程序。

  *步骤 2*

  1. ElasticSearch 环境已不再连接到数据来源或应用程序。

  1. 变更数据捕获 (CDC) 数据在管道中提取并流向 OpenSearch 服务域。

  1. 数据从 OpenSearch 服务域流向应用程序。
+ 某些搜索工作负载只需要将源数据库或数据源的完整数据加载到新的 OpenSearch 服务环境中。加载完成后，客户端应用程序可以割接到新环境。这是实现搜索工作负载迁移的最简单方法。

## 切换或割接
<a name="swap-cutover"></a>

迁移之旅的最后一步是切换或割接到新环境。这是关键阶段之一。此时，您可以随时上线。数据已同步且为最新状态，监控和提醒已配置完毕，运行手册也已更新，现在可以割接到新环境了。您必须确保摄取正常进行，并且来自新环境的指标运行状况良好。在此阶段，您需要计划并执行从现有 Elasticsearch 或 OpenSearch 集群到新的 Amazon Ser OpenSearch vice 域的客户端连接的切换。请注意可能需要对客户端库进行的任何更改。此时，您应该已经在较低的环境中使用Amazon S OpenSearch ervice测试了所有客户端功能，以验证兼容性和性能。

如果您的客户端应用程序需要指向新环境，请将 DNS 条目从旧环境更新到新环境。然后密切监控应用程序行为，以确保您的用户获得正确的体验。

通常，如果您遵循了本文档中的准则，则可以安全地进行切换。但是，我们建议您将源环境保持最新状态，以便在新环境中遇到任何问题时，它可以作为备用环境。一些 AWS 客户在切换后的几周内会继续运行这两个环境，然后才停用旧的环境。我们建议您选择符合业务连续性要求的策略。