用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

从备份还原并执行可选的集群规模调整

您可以随时将 Redis .rdb 备份文件中的数据还原到新集群中。

适用于 Redis 的 Amazon ElastiCache 还原流程支持以下操作:

  • 从 Redis (已禁用集群模式) 集群升级到运行 Redis 版本 3.2.4 的 Redis (已启用集群模式) 集群。

     

  • 将您从自管理 Redis 集群创建的一个或多个 .rdb 备份文件,迁移到 Redis (已启用集群模式) 集群的单个 ElastiCache。

    .rdb 文件必须放在 S3 中来执行还原。

     

  • 在新集群中指定多个分片 (API/CLI:节点组),其数量不同于创建备份文件时所用集群中分片的数量。

     

  • 为新集群指定不同的节点类型,可以更大,也可以更小。如果要缩减到较小的节点类型,则必须确保新节点类型拥有足量内存以适应您的数据和 Redis 开销。有关更多信息,请参阅选择节点大小

     

  • 以不同于创建备份文件时所用集群中的方法,配置新 Redis (已启用集群模式) 集群的槽。

重要

  • 您无法将使用 Redis (已启用集群模式) 集群创建的备份还原到 Redis (已禁用集群模式) 集群。

  • Redis (已启用集群模式) 集群不支持多个数据库。因此,还原到 Redis (已启用集群模式) 时,如果 RDB 文件引用多个数据库,还原将会失败。

从备份还原集群时,是否需要进行任何更改取决于以下情况:使用 ElastiCache 控制台时,取决于您在 Restore Cluster (还原集群) 对话框中进行的选择;或者,使用 AWS CLI 或 ElastiCache API 进行还原时,取决于使用的参数值。

在还原操作过程中,ElastiCache 会创建新集群,然后使用备份文件中的数据填充。此过程完成后,Redis 集群即完成预热,准备好接受请求。

重要

在继续之前,请确保您已创建要从中进行还原的集群备份。有关更多信息,请参阅 进行手动备份

如果要从外部创建的备份进行还原,请参阅使用外部创建的备份为新集群做种

以下过程向您演示如何使用 ElastiCache 控制台、AWS CLI 或 ElastiCache API 将备份还原到新集群。

从备份 (控制台) 还原

您可以将 Redis 备份还原到单节点 Redis (已禁用集群模式) 集群,或者还原到具有只读副本(复制组)的 Redis 集群 — 可以为 Redis (已禁用集群模式) 或 Redis (已启用集群模式)。

将备份还原到新集群 (控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 从导航窗格中,选择 Backups

  3. 在备份列表中,选择您要从中进行还原的备份名称左侧的复选框。

  4. 选择 Restore

  5. 完成 Restore Cluster 对话框。请确保填写了所有必需字段以及任何其他您要更改默认值的字段。

    Redis (已禁用集群模式)

    1. Cluster ID (集群 ID) – 是必需的。新集群的名称。

    2. Engine version compatibility (引擎版本兼容性) – 您要运行的适用于 Redis 的 ElastiCache 的引擎版本。

    3. Cluster mode enabled (scale out) (已启用集群模式 (横向扩展)) – 选择此项可将 Redis (已禁用集群模式) 集群转换为 Redis (已启用集群模式)(引擎版本将为 3.2.4)。

      如果您选择 Cluster mode enabled (scale out)

      1. 选择您希望新集群拥有的分片数 (API/CLI:节点组)。

      2. 选择您希望各分片拥有的只读副本数。

      3. 根据需要在槽中分发键。

    4. Node Type (节点类型) – 指定您需要的新集群的节点类型。

    5. Availability zone(s) (可用区) – 指定您希望如何选择集群的可用区。

    6. Port (端口) – 仅当您希望新集群使用不同端口时才更改此项。

    7. Choose a VPC (选择 VPC) – 选择在其中创建此集群的 VPC。

    8. Parameter Group (参数组) – 选择为所选节点类型预留了足够 Redis 内存开销的参数组。

     

    Redis (已启用集群模式)

    1. Cluster ID (集群 ID) – 是必需的。新集群的名称。

    2. Cluster mode enabled (scale out) (已启用集群模式 (横向扩展)) – 为 Redis (已启用集群模式) 集群选择此项。对 Redis (已禁用集群模式) 集群清除此项。

    3. Node Type (节点类型) – 指定您需要的新集群的节点类型。

    4. Number of Shards (分片数量) – 选择您希望新集群拥有的分片(API/CLI:节点组)数量。

    5. Replicas per Shard (每个分片的副本) – 选择您希望各分片拥有的只读副本节点数量。

    6. Slots and keyspaces (槽和密钥空间) – 选择您希望如何在分片之间分发密钥。如果您选择指定密钥分发,请完成为各分片指定密钥范围的表。

    7. Availability zone(s) (可用区) – 指定您希望如何选择集群的可用区。

    8. Port (端口) – 仅当您希望新集群使用不同端口时才更改此项。

    9. Choose a VPC (选择 VPC) – 选择在其中创建此集群的 VPC。

    10. Parameter Group (参数组) – 选择为所选节点类型预留了足够 Redis 内存开销的参数组。

  6. 根据需要完成设置后,选择 Launch Cluster

从备份 (AWS CLI) 还原

您可以使用 AWS CLI 操作 create-cache-cluster 将 Redis (已禁用集群模式) 备份还原到单节点 Redis (已禁用集群模式) 集群,或者使用 AWS CLI 操作 create-replication-group 并使用 Redis .rdb 文件为其做种,从而将其还原到具有只读副本(复制组)的 Redis 集群(可以为 Redis (已禁用集群模式) 或 Redis (已启用集群模式))。

使用 create-cache-clustercreate-replication-group 操作时,请确保包括参数 --snapshot-name--snapshot-arns,以使用来自备份的数据为新集群或复制组做种。

有关更多信息,请参阅下列内容:

从备份 (ElastiCache API) 还原

您可以使用 ElastiCache API 操作 CreateCacheCluster 将 Redis 备份还原到单节点 Redis (已禁用集群模式) 集群,或者使用 ElastiCache API 操作 CreateReplicationGrooup 并使用 Redis .rdb 文件为其做种,从而将其还原到具有只读副本(复制组)的 Redis 集群(可以为 Redis (已禁用集群模式) 或 Redis (已启用集群模式))。

使用 CreateCacheClusterCreateReplicationGroup 操作时,请确保包括参数 SnapshotNameSnapshotArns,以使用来自备份的数据为新集群或复制组做种。

有关更多信息,请参阅下列内容: