【问题标题】:How do I set an elasticache redis cluster as a slave?如何将 elasticache redis 集群设置为从属?
【发布时间】:2015-05-15 09:08:50
【问题描述】:

根据 Elasticache 手册,SLAVEOF 命令仅限于 AWS 缓存节点。

是否可以将现有的 Elasticache 节点设置为从节点,以便我可以将现有的 redis 集群迁移到 AWS?

【问题讨论】:

    标签: amazon-web-services redis amazon-elasticache


    【解决方案1】:

    如您所见,Elasticache doesn't support the SLAVEOF command 因此您不能简单地将 Elasticache 节点添加到现有集群,然后将其提升为主节点/关闭现有集群。

    相反,要迁移您的 Redis 集群,您应该使用 BGSAVESAVE 创建快照以生成 .rdb 快照文件。

    然后您应该将此快照文件上传到 S3 并允许 Elasticache 访问该文件:

    授予 ElastiCache 对复制到 Amazon S3 的快照的读取权限

    1. 登录 AWS 管理控制台并打开 Amazon S3 控制台 https://console.aws.amazon.com/s3/

    2. 单击所有存储桶,然后单击 Amazon S3 存储桶的名称 包含您的 .rdb 文件。

    3. 单击包含您的 .rdb 文件的文件夹的名称。

    4. 单击 .rdb 文件的名称,单击“操作”下拉菜单, 然后选择属性。

    5. 单击权限,然后单击添加更多权限。

    6. 在“被授予者”框中,键入以下电子邮件地址: 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 快照数据。

    1. 点击打开/下载,然后点击保存。

    之后,只需创建一个新的 Redis 支持的 Elasticache 集群,然后在配置部分中指定快照文件的 S3 位置。

    这将使用从快照中获取的现有集群数据为您的新 Elasticache 集群播种,但显然您仍然需要处理停机、数据丢失,或者您必须想办法将 AOF 日志重播到 Elasticache使用类似 aof-replay tool 的东西进行集群。

    亚马逊的文档更详细地介绍了here

    【讨论】:

    • 感谢您的解释! “显然,您仍然需要处理停机时间、数据丢失,或者您必须想办法重放 AOF 日志”......哎呀!
    猜你喜欢
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2021-02-05
    • 2022-10-24
    • 2015-11-21
    • 2020-03-31
    • 2018-05-03
    • 1970-01-01
    相关资源
    最近更新 更多