如何将elasticache redis群集设置为从属?

时间:2015-05-15 09:08:50

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

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

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

1 个答案:

答案 0 :(得分: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.   
  3. 单击“所有存储桶”,然后单击Amazon S3存储桶的名称   包含.rdb文件。

  4.   
  5. 单击包含.rdb文件的文件夹的名称。

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

  8.   
  9. 单击“权限”,然后单击“添加更多权限”。

  10.   
  11. 在Grantee框中,输入以下电子邮件地址:   aws-scs-s3-readonly@amazon.com。

  12.         
        

    重要信息对于以下区域,请连接到特定区域         规范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. 单击“打开/下载”,然后单击“保存”。
    2.   

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

这将为您的新Elasticache集群提供现有集群从快照中获取的数据,但显然您仍然需要处理停机,数据丢失或者您必须找到一种方法将AOF日志重播到Elasticache群集使用类似aof-replay tool的内容。

亚马逊的文档详细介绍here