开始迁移 - Amazon ElastiCache

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

开始迁移

完成所有先决条件后,您可以使用 AWS Management Console、 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 命令来检查迁移进度。 ElastiCache

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

如果 ElastiCache 主节点无法成为 Valkey 或 Redis OSS 实例的副本,则它会重试几次,然后最终将自己提升回主节点。 ElastiCache 集群的状态将变为 available (可用),并发送有关启动迁移失败的复制组事件。要解决此类故障,请检查以下内容:

  • 查看复制组事件。使用事件中的任何特定信息修复迁移失败。

  • 如果事件未提供任何特定信息,请确保您遵循准备源和目标以进行迁移中的准则。

  • 确保您的 VPC 和子网的路由配置允许 ElastiCache 节点与您的 Valkey 或 Redis OSS 实例之间的流量。

  • 确保连接到您的 Valkey 或 Redis OSS 实例的安全组允许来自 ElastiCache 节点的输入绑定流量。

  • 检查实例的 Valkey 或 Redis OSS 日志,以获取有关特定于复制的失败的更多信息。