本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 5 阶段 — 切换
本阶段讨论了您可以采用的各种方法从当前的 Elasticsearch 或 OpenSearch 环境切换到目标亚马逊 OpenSearch 服务域。切换可以通过两个步骤完成:
-
建立数据同步机制,使目标环境与源环境保持同步。
-
无论是否停机,都要执行从当前环境到目标环境的交换。
数据同步
对于任何连续接收数据的系统,数据迁移可能需要您在迁移期间停止接收新数据,并在维护时段内运行迁移(可能会停机)。如果您承受不起停机时间,则可以在开始迁移后捕获更改。在执行直接转换之前,您可以重播目标系统上的更改以使其保持更新并与源同步。以下各节讨论了保持源和目标同步的各种方法。
日志分析工作负载
对于日志分析工作负载,您可以通过以下方式执行更新同步:
-
您可以并排运行两个环境,直到保留期结束,并运行对当前环境和目标环境的摄取。在某个时间点,您决定切换并将应用程序指向新环境。有时,您可以将新数据从日志或文档源提取到现有集群和目标 OpenSearch 服务环境。然后,您可以通过从当前环境中复制旧数据来回填目标环境中的旧数据。在所有情况下,您都必须确保您的数据不存在任何会影响用户的差距。
-
在数据迁移之前,您可以决定暂停向现有环境的提取。但是,这种方法意味着在数据迁移完成之前,您的用户可能无法从现有环境中搜索最新或更改的数据。数据迁移完成后,您可以将数据提取指向目标环境,然后将应用程序和客户端切换到目标环境。这意味着在迁移完成之前不会有新的数据可用。但是,该系统仍可供搜索。在新环境可用之前,您应该有办法将源日志和数据保存在源中。
-
您可以继续使用当前的日志分析引擎,直到第一次迁移数据为止。然后,您可以回填自第一次通道启动以来生成的剩余数据。假设剩余的数据比第一次通道小得多,则可以在同步剩余数据时暂停摄取,因为同步可能只需要几分钟或几个小时。您也可以使用这种方法执行几次传递,直到同步窗口变得足够小,可以暂停从源环境到目标环境的摄取并在不影响用户的情况下切换到目标环境。下图显示了使用增量快照和恢复来更新或同步数据。
第 1 步
-
数据通过数据摄取管道从源头流向当前的 Elasticsearch 环境和亚马逊服务域。 OpenSearch
-
第一个通道从 Elasticsearch 迁移到亚马逊 OpenSearch 服务域所需的时间最长。
-
第一次更新或同步过程所需的时间更少。
-
第二次更新或同步过程花费的时间最少。
-
数据继续从 Elasticsearch 流向应用程序。
步骤 2
-
数据通过数据摄取管道从源流向 OpenSearch 服务域。
-
对当前 Elasticsearch 环境的提取已停止。
-
最终的更新或同步过程花费的时间最少。
-
数据从 OpenSearch 服务流向应用程序。
-
搜索工作负载
在前面讨论的三种方法中,在执行转换之前,必须确保目标上的所有数据都是最新的。对于搜索工作负载,您可以考虑以下更新或同步建议:
-
对于搜索工作负载,通常会暂停从源环境到当前环境的摄取。您将所有数据从当前环境复制到目标环境,然后建立变更数据捕获 (CDC) 机制,该机制可以确定自迁移开始以来发生了哪些更改。然后,您将更改后的数据复制到 Amazon OpenSearch 环境。在大多数情况下,搜索应用程序的数据摄取管道已经内置了 CDC 机制,通常只需要在数据从当前环境迁移后将管道指向新环境即可。下图显示了完全从源代码为搜索用例构建索引。
第 1 步
-
对当前 Elasticsearch 环境的提取已暂停。
-
数据将从服务域复制 ElasticSearch 到 OpenSearch 服务域。
-
数据继续从应用程序流 ElasticSearch 向应用程序。
步骤 2
-
Elasticsearch 环境不再连接到数据源或应用程序。
-
变更数据捕获 (CDC) 数据在管道中提取并流向 OpenSearch 服务域。
-
数据从 OpenSearch 服务域流向应用程序。
-
-
某些搜索工作负载只需要将源数据库或数据源的完整数据加载到新的 OpenSearch 服务环境中。加载完成后,客户端应用程序可以切换到新环境。这是实现搜索工作负载迁移的最简单方法。
交换或切断
迁移之旅的最后一步是切换或切换到新环境。这是关键阶段之一。此时,你已经准备好上线了。数据已同步并处于最新状态,配置了监控和警报,运行手册是最新的,并且可以切换到新环境了。您必须确保您的摄取流量正常,并且来自新环境的指标是健康的。在此阶段,您需要计划并执行从现有 Elasticsearch 或 OpenSearch 集群到新的 Amazon Ser OpenSearch vice 域的客户端连接的切换。请注意可能需要对客户端库进行的任何更改。此时,您应该已经在较低的环境中使用Amazon S OpenSearch ervice测试了所有客户端功能,以验证兼容性和性能。
如果您的客户端应用程序需要指向新环境,请将 DNS 条目从旧环境更新到新环境。然后密切监视应用程序的行为,以确保您的用户获得正确的体验。
通常,如果您遵循了本文档中的指南,则可以安全地进行切换。但是,我们建议您将源环境保持最新状态,以便在新环境中遇到任何问题时,它可以作为备用环境。一些 AWS 客户在交换后的几周内继续运行这两个环境,然后才停用旧的环境。我们建议您选择符合业务连续性要求的策略。