

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

# 开始迁移
<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 实例和主节点上运行 [valkey-cli INFO](https://valkey.io/commands/info) 命令来检查迁移进度。 ElastiCache 

成功复制后，对您的 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 日志，以获取有关特定于复制的失败的更多信息。