开始迁移 - 亚马逊 ElastiCache (Redis OSS)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

开始迁移

完成所有先决条件后,您可以使用 Amazon Web Services Management Console、 ElastiCache API 或开始数据迁移 Amazon CLI。如果启用集群模式,当插槽迁移有所不同时,将在实时迁移之前执行重新分片。下面显示了使用 CLI 的示例。

注意

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

可以使用以下参数调用 start-migration 命令以开始进行迁移:

  • --replication-group-id— 目标 ElastiCache复制组的标识符

  • --customer-node-endpoint-list— 包含 DNS 或 IP 地址的终端节点列表以及您的源 Redis OSS 集群运行的端口。对于禁用集群模式和启用集群模式,列表只能使用一个元素。如果您启用了链式复制,则终端节点可以指向副本而不是您的 Redis OSS 集群中的主节点。

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

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

运行此命令时, ElastiCache 主节点(在每个分片中)会将自己配置为您的 Redis OSS 实例的副本(在相应的分片中,在启用集群的 redis 中拥有相同的插槽)。 ElastiCache 集群状态变为迁移,数据开始从 Redis OSS 实例迁移到 ElastiCache 主节点。根据您的 Redis OSS 实例上的数据大小和负载,迁移可能需要一段时间才能完成。您可以通过在您的 Redis OSS 实例和主节点上运行 redis-cli INFO 命令来检查迁移进度。 ElastiCache

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

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

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

  • 如果事件未提供任何特定信息,请确保您遵循为迁移做好源和目标 Redis OSS 节点的准备中的准则。

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

  • 确保挂载到 Redis OSS 实例的安全组允许来自 ElastiCache 节点的输入绑定流量。

  • 查看您的 Redis OSS 实例的 Redis OSS 日志,了解有关复制特定故障的更多信息。