快照和还原 - ElastiCache 适用于 Redis 的 Amazon

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

快照和还原

运行 Redis 的 Amazon ElastiCache 缓存可创建快照来备份其数据。您可以使用备份将缓存或种子数据还原到新缓存。备份包含缓存的元数据以及缓存中的所有数据。所有备份都会写入 Amazon Simple Storage Service (Amazon S3),该服务提供持久存储。您随时可通过创建新的 Redis 缓存并向该缓存填充备份中的数据来还原数据。使用 ElastiCache,您可以使用 AWS Management Console、AWS Command Line Interface (AWS CLI) 和 ElastiCache API 管理备份。

如果您计划删除缓存并且保留数据很重要,则可以采取额外的预防措施。为此,请先创建手动备份,验证其状态是否为可用,然后删除缓存。这样做可确保如果备份失败,您仍然可以使用缓存数据。您可以按照前面概述的最佳实践重新尝试创建备份。

备份约束

在计划或创建备份时考虑以下约束:

  • 当前,仅 Redis 上运行的缓存支持备份和还原。

  • Redis(已禁用集群模式)集群的 cache.t1.micro 节点上不支持备份和还原。支持所有其他缓存节点类型。

  • Redis(已启用集群模式)集群的所有节点类型均支持备份和还原。

  • 在任何连续的 24 小时期间,针对集群中每个节点所创建的手动备份不能超过 20 个。

  • Redis(已启用集群模式)仅支持在集群级别(对于 API 或 CLI,为复制组级别)进行备份。Redis(已启用集群模式)不支持在分区级别(对于 API 或 CLI,为节点组级别)进行备份。

  • 在备份过程中,您无法在集群上运行任何其他 API 或 CLI 操作。

  • 如果使用启用了数据分层功能的集群,则无法将备份导出到 Amazon S3。

  • 您只能将使用 r6gd 节点类型的集群备份还原到使用 r6gd 节点类型的集群。

备份自行设计的集群所产生的性能影响

无服务器缓存上的备份对于应用程序是透明的,并且不会影响性能。但是,在为自行设计的集群创建备份时,可能会产生一些性能影响,具体取决于可用的预留内存。

以下是提高自行设计的集群的备份性能的准则。

  • 设置 reserved-memory-percent 参数 – 为了缓解过多分页问题,我们建议设置 reserved-memory-percent 参数。此参数可防止 Redis 使用节点的所有可用内存,有助于减少分页量。只需使用更大的节点,您也可以获得性能改进。有关 reserved-memoryreserved-memory-percent 参数的更多信息,请参阅 管理预留内存

     

  • 从只读副本创建备份 – 如果您正在具有多个节点的节点组中运行 Redis,则可以从主节点或一个只读副本进行备份。由于在 BGSAVE 期间需要系统资源,因此我们建议您从一个只读副本上创建备份。从副本创建备份时,主节点不受 BGSAVE 资源要求的影响。主节点可以继续处理请求,而不会降低速度。

    若要执行此操作,请参阅 创建手动备份(控制台),并在 Create Backup(创建备份)窗口中的 Cluster Name(集群名称)字段中,选择副本而不是默认主节点。

如果您删除复制组并请求最终备份,则 ElastiCache 始终从主节点进行备份。这可确保您在删除复制组之前捕获最新的 Redis 数据。