本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
快照和还原
运行 Valkey、Redis OSS 或 Serverless Mem ElastiCache cached 的亚马逊缓存可以通过创建快照来备份其数据。您可以使用备份将缓存或种子数据还原到新缓存。备份包含缓存的元数据以及缓存中的所有数据。所有备份都会写入 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 或 RedisOSS(已禁用集群模式)集群,节点上
cache.t1.micro
不支持备份和恢复。支持所有其他缓存节点类型。 -
对于 Valkey 或 RedisOSS(已启用集群模式)集群,所有节点类型都支持备份和还原。
-
在任何连续的 24 小时内,您可以针对每个无服务器缓存创建最多 24 个手动备份。对于 Valkey 和 Redis OSS 自行设计的集群,您可以在集群中为每个节点创建不超过 20 个手动备份。
-
Valkey 或 RedisOSS(已启用集群模式)仅支持在集群级别(对于API或CLI,复制组级别)进行备份。Valkey 或 RedisOSS(已启用集群模式)不支持在分片级别(对于API或CLI,节点组级别)进行备份。
-
在备份过程中,您无法在无服务器缓存上运行任何其他API或CLI操作。备份期间,您可以在自己设计的集群上运行API或CLI操作。
-
如果您使用具有数据分层功能的 Valkey 或 Redis OSS 缓存,则无法将备份导出到 Amazon S3。
-
您只能将使用 r6gd 节点类型的集群备份还原到使用 r6gd 节点类型的集群。
备份自行设计的集群所产生的性能影响
无服务器缓存上的备份对于应用程序是透明的,并且不会影响性能。但是,在为自行设计的集群创建备份时,可能会产生一些性能影响,具体取决于可用的预留内存。Memcached 不支持自行设计 ElastiCache 的集群的备份,但可用 ElastiCache 于 Redis。OSS
以下是提高自行设计的集群的备份性能的准则。
-
设置
reserved-memory-percent
参数-为了减少过多的寻呼,我们建议您设置该reserved-memory-percent参数。此参数可防止 Valkey 和 Redis OSS 消耗节点的所有可用内存,并且可以帮助减少分页量。只需使用更大的节点,您也可以获得性能改进。有关预留内存和reserved-memory-percent参数的更多信息,请参阅。管理 Valkey 和 Redis 的预留内存 OSS -
从只读副本创建备份 — 如果您在具有多个节点的节点组OSS中运行 Valkey 或 Redis,则可以从主节点或其中一个只读副本进行备份。由于在此期间需要系统资源BGSAVE,我们建议您使用其中一个只读副本创建备份。从副本创建备份时,主节点不受BGSAVE资源需求的影响。主节点可以继续处理请求,而不会降低速度。
若要执行此操作,请参阅 创建手动备份(控制台),并在 Create Backup(创建备份)窗口中的 Cluster Name(集群名称)字段中,选择副本而不是默认主节点。
如果您删除复制组并请求最终备份,则 ElastiCache 始终从主节点获取备份。这样可以确保您在删除复制组之前捕获最新的 Valkey 或 Redis OSS 数据。