【发布时间】:2015-05-15 09:08:50
【问题描述】:
根据 Elasticache 手册,SLAVEOF 命令仅限于 AWS 缓存节点。
是否可以将现有的 Elasticache 节点设置为从节点,以便我可以将现有的 redis 集群迁移到 AWS?
【问题讨论】:
标签: amazon-web-services redis amazon-elasticache
根据 Elasticache 手册,SLAVEOF 命令仅限于 AWS 缓存节点。
是否可以将现有的 Elasticache 节点设置为从节点,以便我可以将现有的 redis 集群迁移到 AWS?
【问题讨论】:
标签: amazon-web-services redis amazon-elasticache
如您所见,Elasticache doesn't support the SLAVEOF command 因此您不能简单地将 Elasticache 节点添加到现有集群,然后将其提升为主节点/关闭现有集群。
相反,要迁移您的 Redis 集群,您应该使用 BGSAVE 或 SAVE 创建快照以生成 .rdb 快照文件。
然后您应该将此快照文件上传到 S3 并允许 Elasticache 访问该文件:
授予 ElastiCache 对复制到 Amazon S3 的快照的读取权限
登录 AWS 管理控制台并打开 Amazon S3 控制台 https://console.aws.amazon.com/s3/。
单击所有存储桶,然后单击 Amazon S3 存储桶的名称 包含您的 .rdb 文件。
单击包含您的 .rdb 文件的文件夹的名称。
单击 .rdb 文件的名称,单击“操作”下拉菜单, 然后选择属性。
单击权限,然后单击添加更多权限。
在“被授予者”框中,键入以下电子邮件地址: aws-scs-s3-readonly@amazon.com。
重要对于以下地区,请连接到特定地区 规范 ID 而不是 aws-scs-s3-readonly@amazon.com:中国 (北京)地区: b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83 欧盟 (法兰克福)地区: 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353 AWS GovCloud(美国)地区: 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6 注意 快照必须位于 GovCloud S3 存储桶中,以便您 将其下载到 GovCloud Redis 集群。注意 aws-scs-s3-readonly@amazon.com 帐户专门用于 客户从 Amazon S3 上传 Redis 快照数据。
- 点击打开/下载,然后点击保存。
之后,只需创建一个新的 Redis 支持的 Elasticache 集群,然后在配置部分中指定快照文件的 S3 位置。
这将使用从快照中获取的现有集群数据为您的新 Elasticache 集群播种,但显然您仍然需要处理停机、数据丢失,或者您必须想办法将 AOF 日志重播到 Elasticache使用类似 aof-replay tool 的东西进行集群。
亚马逊的文档更详细地介绍了here。
【讨论】: