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

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

开始迁移

在满足所有先决条件后,您可以使用 Amazon Web Services Management Console、ElastiCache API 或 Amazon CLI 开始迁移数据。下面显示了使用 CLI 的示例。

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

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

  • --customer-node-endpoint-list – 具有 DNS 或 IP 地址以及运行 EC2 集群上的 Redis 的端口的终端节点列表。由于 ElastiCache 当前仅支持禁用了集群模式的配置,因此,该列表应包含一个条目。如果启用了链式复制,则终端节点可能指向副本,而不是 Redis 集群中的主节点。

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

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

在运行该命令时,ElastiCache 主节点配置自身以变为 EC2 实例上 Redis 的副本。ElastiCache 集群的状态将变为 migrating (正在迁移),并开始将数据从 EC2 实例上的 Redis 迁移到 ElastiCache 主节点。根据 Redis 实例上的数据大小和负载,迁移可能需要一段时间才能完成。您可以通过运行雷迪斯-CLI 信息命令并在 EC2 实例上执行 RedisElastiCache主节点。

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

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

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

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

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

  • 确保附加到 EC2 实例上的 Redis 的安全组允许来自 ElastiCache 节点的入站流量。

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