

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

# 开始迁移
<a name="Migration-Initiate"></a>

在满足所有先决条件后，您可以使用 AWS 管理控制台、ElastiCache API 或 AWS CLI 开始迁移数据。如果启用集群模式，当插槽迁移有所不同时，将在实时迁移之前执行重新分片。下面显示了使用 CLI 的示例。

**注意**  
我们建议使用 `TestMigration` API 来验证迁移设置。但这完全是可选的。

可以使用以下参数调用 `start-migration` 命令以开始进行迁移：
+ `--replication-group-id` – 目标 ElastiCache 复制组的标识符
+ `--customer-node-endpoint-list` – 具有 DNS 或 IP 地址以及运行源 Valkey 或 Redis OSS 集群的端口的端点列表。对于禁用集群模式和启用集群模式，列表只能使用一个元素。如果启用了链式复制，则端点可能指向副本，而不是 Valkey 或 Redis OSS 集群中的主节点。

以下是一个使用 CLI 的示例。

```
aws elasticache start-migration --replication-group-id test-cluster --customer-node-endpoint-list "Address='10.0.0.241',Port=6379"
```

当您运行此命令时，ElastiCache 主节点（在每个分片中）会将自己配置成为您的 Valkey 或 Redis OSS 实例的副本（在启用集群的 redis 中拥有相同插槽的相应分片中）。ElastiCache 集群的状态将变为**正在迁移**，并开始将数据从 Valkey 或 Redis OSS 实例迁移到 ElastiCache 主节点。根据 Valkey 或 Redis OSS 实例上的数据大小和负载，迁移可能需要一段时间才能完成。您可以在 Valkey 实例和 ElastiCache 主节点上运行 [valkey-cli INFO](https://valkey.io/commands/info) 命令来检查迁移进程。

在成功复制后，写入到 Valkey 或 Redis OSS 实例的所有数据都将传播到 ElastiCache 集群。您可以使用 ElastiCache 节点执行读取操作。不过，您无法写入到 ElastiCache 集群。如果 ElastiCache 主节点连接了其他副本节点，这些副本节点将继续从 ElastiCache 主节点中进行复制。这样，Valkey 或 Redis OSS 集群中的所有数据将复制到 ElastiCache 集群中的所有节点。

如果 ElastiCache 主节点无法成为 Valkey 或 Redis OSS 实例的副本，则它会重试几次，然后最终将自身重新提升回为主节点。ElastiCache 集群的状态将变为 **available（可用）**，并发送有关启动迁移失败的复制组事件。要解决此类故障，请检查以下内容：
+ 查看复制组事件。使用事件中的任何特定信息修复迁移失败。
+ 如果事件未提供任何特定信息，请确保您遵循[准备源和目标以进行迁移](Migration-Prepare.md)中的准则。
+ 确保 VPC 和子网的路由配置允许 ElastiCache 节点和 Valkey 或 Redis OSS 实例之间的流量。
+ 确保附加到 Valkey 或 Redis OSS 实例的安全组允许来自 ElastiCache 节点的入站流量。
+ 检查实例的 Valkey 或 Redis OSS 日志，以获取有关特定于复制的失败的更多信息。