

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

# 准备源和目标以进行迁移
<a name="Migration-Prepare"></a>

通过这些步骤，您可以准备将数据从 EC2 上的自托管 Valkey 或 Redis 源迁移到。 ElastiCache

这是指从自托管实例迁移到 ElastiCache 服务。有关从 Redis OSS 升级到 Valkey 的信息 ElastiCache ，请参阅。[升级引擎版本，包括跨引擎升级升级引擎版本](VersionManagement.HowTo.md)

在开始从 ElastiCache 控制台、API 或 AWS CLI 迁移之前，必须确保满足以下所有四个先决条件。

**准备源和目标 Valkey 或 Redis OSS 节点以进行迁移**

1. 确定目标 ElastiCache 部署并确保您可以向其迁移数据。

   现有或新创建的 ElastiCache 部署应满足以下迁移要求：
   + 它使用的是 Valkey 或 Redis OSS 5.0.6 或更高版本。
   + 它未启用传输中加密。
   + 它已 Multi-AZ 启用。
   + 它具有足够的可用内存以容纳 Valkey 或 Redis OSS 集群中的数据。要配置正确的保留内存设置，请参阅[管理 Valkey 和 Redis OSS 的预留内存](redis-memory-management.md)。
   + 如果禁用集群模式，您可以使用 CLI 或控制台直接从任何支持的 Valkey 或 Redis OSS 版本迁移到 Valkey 或 Redis OSS 版本 5.0.6 及以上。启用集群模式后，您可以使用 CLI 或控制台直接从任何启用集群模式的 Valkey 或 Redis OSS 版本迁移到 Valkey 或 Redis OSS 版本 5.0.6 及以上。
   + 源和目标中的分片数量相匹配。
   + 它不是全局数据存储的一部分。
   + 它已禁用数据分层。

1. 确保您的开源 Valkey 或 Redis OSS 的配置与 ElastiCache 部署兼容。

   目标 ElastiCache 部署中的以下所有内容至少应与您的 Valkey 或 Redis OSS 复制配置兼容：
   + 集群不应启用 AUTH。
   + 配置 `protected-mode` 应设置为 `no`。
   + 如果您`bind`的 Valkey 或 Redis OSS 配置中有配置，则应将其更新以允许来自 ElastiCache 节点的请求。
   +  ElastiCache 节点和您的 Valkey 或 Redis OSS 集群上的逻辑数据库数量应相同。该值是在 Valkey 或 Redis OSS 配置中使用 `databases` 设置的。
   + 不应重命名执行数据修改的 Valkey 或 Redis OSS 命令来使数据复制成功完成。例如 `sync`、`psync`、`info`、`config`、`command` 和 `cluster`。
   + 要将数据从 Valkey 或 Redis OSS 集群复制到 ElastiCache，请确保有足够的 CPU 和内存来处理这种额外负载。此负载来自您的 Valkey 或 Redis OSS 集群创建并通过网络传输到节点的 RDB 文件。 ElastiCache 
   + 源集群上的所有 Valkey 或 Redis OSS 实例都应在同一个端口上运行。

1.  ElastiCache 通过执行以下操作，确保您的实例可以连接：
   + 确保每个实例的 IP 地址是私有的。
   + 在与您的实例上的 Valkey 或 Redis OSS 相同的虚拟私有云 (VPC) 中分配或创建 ElastiCache 部署（推荐）。
   + 如果 VPC 不同，请设置 VPC 对等以允许集群之间的访问。有关 VPC 对等的更多信息，请参阅[访问 Amazon VPC 中 ElastiCache 缓存的访问模式](elasticache-vpc-accessing.md)。
   + 连接到您的 Valkey 或 Redis OSS 实例的安全组应允许来自 ElastiCache 节点的入站流量。

1. 确保在数据迁移完成后，您的应用程序可以将流量定向到 ElastiCache 节点。有关更多信息，请参阅 [访问 Amazon VPC 中 ElastiCache 缓存的访问模式](elasticache-vpc-accessing.md)。