快照和还原 - Amazon ElastiCache

快照和还原

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

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

备份约束

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

  • 只有在 Valkey、Redis OSS 或 Serverless Memcached 上运行的缓存才支持备份和还原。

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

  • 对于 Valkey 或 Redis OSS(已启用集群模式)集群,所有节点类型均支持备份和还原。

  • 在任何连续的 24 小时内,您可以针对每个无服务器缓存创建最多 24 个手动备份。对于 Valkey 和 Redis OSS 自行设计的集群,您可以针对集群中每个节点创建最多 20 个手动备份。

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

  • 在备份过程中,您无法在无服务器缓存上运行任何其他 API 或 CLI 操作。备份期间,您可以在自行设计的集群上运行 API 或 CLI 操作。

  • 如果您使用的是带数据分层的 Valkey 或 Redis OSS 缓存,则无法将备份导出到 Amazon S3。

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

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

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

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

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

     

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

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

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