迁移助手适合您吗?
迁移助手是否适合您,取决于您的升级路径、基础设施复杂性以及运营目标。本页面将帮助您评估迁移助手是否符合您的使用场景。
迁移助手解决了传统迁移方法中的关键限制。例如,如果您要跨多个主要版本进行升级——比如从 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 在重放期间不会被保留。客户端必须为
index
和update
操作明确提供文档 ID。