Link Search Menu Expand Document Documentation Menu

迁移助手适合您吗?

迁移助手是否适合您,取决于您的升级路径、基础设施复杂性以及运营目标。本页面将帮助您评估迁移助手是否符合您的使用场景。

迁移助手解决了传统迁移方法中的关键限制。例如,如果您要跨多个主要版本进行升级——比如从 Elasticsearch 6.8 升级到 OpenSearch 2.19——迁移助手使您能够一步完成整个过程。其他方法,如滚动升级或快照恢复,则要求您逐个主要版本升级,并且通常在每个阶段都需要重新索引。

迁移助手还支持实时流量复制,从而实现零停机迁移。这使其非常适合于最大限度减少服务中断至关重要的环境。

支持的迁移路径

下表显示了哪些源版本可以直接迁移到哪些 OpenSearch 目标版本

源版本 OpenSearch 1.x OpenSearch 2.x OpenSearch 3.x
Elasticsearch 5.x
Elasticsearch 6.x
Elasticsearch 7.x
Elasticsearch 8.x
OpenSearch 1.x
OpenSearch 2.x

支持的平台

源平台和目标平台

  • 自我管理(本地或云提供商托管)
  • Amazon OpenSearch Service(不支持 Amazon OpenSearch Serverless 集合)

支持的 AWS 区域

请参阅支持的 AWS 区域以获取支持区域的完整列表。

支持的功能

在开始升级或迁移之前,请考虑要包含的集群功能。下表列出了可以使用迁移助手迁移的内容、当前是否支持以及如何处理每个组件的建议。

功能 支持 建议
文档 使用 RFS 迁移现有数据,并使用捕获和重放 (Capture and Replay) 迁移实时流量。
索引设置 使用 Metadata-Migration-Tool 进行迁移。
索引映射 使用 Metadata-Migration-Tool 进行迁移。
索引模板 使用 Metadata-Migration-Tool 进行迁移。
组件模板 使用 Metadata-Migration-Tool 进行迁移。
别名 使用 Metadata-Migration-Tool 进行迁移。
索引状态管理 (ISM) 策略 预计在 2025 年支持 使用 API 手动迁移。有关 ISM 支持的更多信息,请参阅问题 #944
Elasticsearch Kibana 面板 预计在 2025 年支持 仅当从 Elasticsearch Kibana 面板迁移到 OpenSearch 面板时才需要此工具。首先从 Kibana 导出 JSON 文件,然后将其导入 OpenSearch 面板。对于 Elasticsearch 7.10.2 到 7.17 版本,请使用 dashboardsSanitizer 工具,然后再将 Canvas 和 Lens 等 X-Pack 可视化导入 Kibana 面板,因为它们可能需要重新创建才能与 OpenSearch 兼容。
安全构造 根据云提供商的建议配置角色和权限。例如,如果使用 AWS,请使用 AWS Identity and Access Management (IAM) 来增强安全管理。
插件 检查插件兼容性;某些 Elasticsearch 插件可能没有直接的 OpenSearch 等效项。

清单

使用此清单来确定迁移助手是否适合您的迁移

  • 您是否正在一步完成跨一个或多个主要版本的迁移——例如,从 Elasticsearch 5 到 OpenSearch 3?
  • 您是否正在升级,但希望能够安全地回滚,以减少数据丢失或服务中断的风险?
  • 您是否需要以最小或零停机时间来保持高服务可用性?
  • 您是否需要在切换之前验证新的 OpenSearch 集群——并具备回滚功能?
  • 您的环境是自我管理还是运行在 Amazon OpenSearch Service 上?
  • 您是否正在寻找用于迁移索引设置和其他元数据的工具?
  • 您是否需要重新配置目标集群——例如,通过更改分片策略和重新索引?
  • 您是否正在跨区域、从本地或从其他云提供商进行迁移?
  • 您是否需要一个能够可靠地重新索引文档的高性能回填解决方案——并支持暂停、恢复或检查点恢复?

如果您对大多数问题都回答“是”,那么迁移助手很可能是您迁移的正确解决方案。

迁移助手的假设与限制

在使用迁移助手之前,请查看以下假设和限制。

网络和环境

构建和部署迁移助手需要连接到 AWS 服务和出站互联网访问。要求因您是部署到新的还是现有的虚拟私有云 (VPC) 而异。

源端和目标端连接

为满足连接要求,请确保以下各项

  • 您必须建立以下各项之间的连接
    • 源集群和/或 Amazon Simple Storage Service (Amazon S3)(对于快照,可能只需要更新桶策略)和迁移助手。
    • 目标集群和迁移助手之间。
  • 如果源端或目标端位于没有互联网访问权限的私有 VPC 中,请使用以下方法之一进行连接
    • VPC 终端节点
    • VPC 对等连接
    • AWS Transit Gateway

部署到新的 VPC

部署到新的 VPC 时,请考虑以下事项

  • 迁移助手会预置一个包含所需组件(例如,NAT 网关、子网)的新 VPC。
  • 您必须建立从该 VPC 到源集群和目标集群的网络访问。

部署到现有 VPC

部署到现有 VPC 时,请考虑以下事项

  • 如果将迁移助手部署到现有 VPC(例如,与源端或目标端相同的 VPC),您可能需要配置与目标 VPC 外部任何集群的连接。
    • 例如,如果将迁移助手部署到源 VPC,您可能需要 VPC 终端节点或对等连接才能到达目标。
  • 确保迁移助手组件可以访问所有必需的 AWS 服务。

    • 如果 VPC 使用带有 NAT 网关的私有子网或带有互联网网关的公共子网进行出站访问,则不需要 VPC 接口终端节点。

    • 如果使用没有出站访问权限的隔离子网,则必须配置 VPC 接口终端节点或路由到以下服务

      • 应用程序负载均衡器(仅限捕获和重放)– 用于在迁移期间选择性地将客户端流量从源端重新路由到目标端。
      • Amazon CloudWatch – 发布迁移指标。
      • Amazon CloudWatch Logs – 摄取 Amazon Elastic Container Service (Amazon ECS) 任务日志。
      • Amazon Elastic Compute Cloud (Amazon EC2) – 用于启动迁移助手。使用 AWS CloudFormation 部署时,引导 EC2 实例需要出站互联网访问(使用 NAT 网关或互联网网关)才能从 GitHub 下载最新版本。
      • Amazon Elastic Block Store (Amazon EBS) – 提供临时磁盘存储。
      • Amazon Elastic Container Registry (Amazon ECR) – 拉取容器镜像。
      • Amazon ECS – 协调容器工作负载。
      • Amazon Elastic File System (Amazon EFS) – 存储持久日志。
      • Amazon Managed Streaming for Apache Kafka (Amazon MSK)(仅限捕获和重放)– 用作捕获和重放实时 HTTP 流量的持久存储。
      • Amazon S3 – 存储和检索快照及构件。
      • Elastic Load Balancing(仅限捕获和重放)– 由迁移控制台用于连接到应用程序负载均衡器。
      • AWS Secrets Manager – 在源端或目标端使用基本身份验证时安全地存储凭证。
      • AWS Systems Manager Parameter Store – 存储配置参数。
      • AWS Systems Manager Session Manager – 启用对 ECS 任务(例如迁移控制台)的安全 shell 访问。
      • AWS X-Ray – 支持分布式跟踪。
      • Amazon Virtual Private Cloud (Amazon VPC) – 确保正确的路由、DNS 解析和终端节点配置。

从快照重新索引 (Reindex-from-Snapshot)

要使用 Reindex-from-Snapshot (RFS),请确保以下事项

  • _source 字段必须在所有要迁移的索引上启用。请参阅
  • 源集群必须安装 Amazon S3 插件。
  • 如果您选择使用自己的快照(即,非迁移助手创建的快照),则在创建快照时必须应用以下设置
    • include_global_state: true – 确保包含全局集群状态。
    • compress: false – 禁用元数据压缩,这是与 RFS 兼容所必需的。
  • 默认支持最大 80 GiB 的分片。可以配置更大的分片大小,但在 AWS GovCloud (US) 除外,在该区域 80 GiB 是最大值。

捕获和重放

捕获和重放具有以下要求

  • 必须部署流量捕获代理以拦截客户端流量。
  • 实时捕获仅建议用于传入流量小于 4 TB/天到源集群的工作负载。
  • 自动生成的文档 ID 在重放期间不会被保留。客户端必须为 indexupdate 操作明确提供文档 ID。