如何从EFS直接将Redis快照导入Amazon ElastiCache?
从EFS导入Redis快照到Amazon ElastiCache的方案
不能直接通过SnapshotName参数从EFS加载数据到ElastiCache。SnapshotName仅支持引用ElastiCache自身创建的快照,或是通过ElastiCache的ImportSnapshot API从Amazon S3导入的合规快照,EFS并非ElastiCache支持的直接快照源。
可行的导入流程如下:
- 将EFS上的RDB文件复制到同一区域的Amazon S3存储桶中。
- 创建IAM角色,授予ElastiCache服务主体(
elasticache.amazonaws.com)访问该S3桶的权限,至少需要s3:GetObject和s3:ListBucket权限。 - 使用
ImportSnapshotAPI,指定S3桶路径、RDB文件名以及刚才创建的IAM角色,将RDB文件导入为ElastiCache可用的快照。此步骤会自动验证RDB文件与目标Redis版本的兼容性。 - 若要创建新集群,在
CreateCacheCluster请求中指定SnapshotName为导入后的快照名称;若要恢复到现有集群,可通过RestoreCacheClusterFromSnapshotAPI基于该快照创建新集群后替换原有实例。
注意事项:
- 确保RDB文件的Redis版本与目标ElastiCache集群的Redis版本一致或兼容,否则导入会失败。
- S3桶需与ElastiCache集群处于同一AWS区域。
内容的提问来源于stack exchange,提问作者Jean Bpts
相关产品推荐
相关产品推荐

