Amazon RDS 到 EC2 的复制

Amazon RDS 到 EC2 的复制

可能重复:
是否可以使用 EC2 RDS MySQL 实例作为外部主实例的从实例?

我的读取密集型应用程序需要水平扩展。它将由使用 Amazon EC2 的各种客户端部署。我最初的想法是,基本设置将使用一个 RDS 实例和一个 EC2 实例。EC2 (c1.medium) 实例将运行 Web 服务器和 RDS 服务器的本地 MySQL 只读副本。该应用程序配置为使用 RDS 服务器进行写入,使用 localhost 进行读取。使用自动扩展组,将根据负载启动更多 c1.medium EC2 实例。每个新的 EC2 实例都将有自己的本地 mysql 复制数据以供读取。

现在的问题是:我可以连接到 RDS 来创建本地读取副本吗?

显而易见的替代方案是使用 RDS API 启动额外的官方读取副本节点,但我不喜欢这样做,因为这样我就需要以 2 台机器而不是 1 台机器为单位进行扩展,而这更昂贵。此外,由于延迟,我更喜欢让 mysql 读取本地查询。

答案1

更新/澄清

虽然我会将链接和引用的 AWS 论坛回复解释为非 RDS 到 RDS 复制两种方式都已经(否则他们可能会提到替代方案),一个相关的问题明确询问使用 RDS 作为复制主服务器截至今天同样未得到解决。


不幸的是,这仍然不支持亚马逊 RDS,请参阅 drcursor 对类似问题的回答是否可以使用 EC2 RDS MySQL 实例作为外部主实例的从实例?

截至 2011 年 2 月,此功能仍不受支持,RDS 实例作为复制从属

目前不支持非 RDS 到 RDS 的复制[...]。但是,我们会记录您的兴趣,以便规划未来的路线图。

答案2

为什么不简单地使用 RDS 只读副本来设置较小的实例以执行读取操作,而让主 RDS 进行写入操作?看来您的系统已经开发为可以处理这种情况了。没有简单的方法可以设置 RDS 实例的复制,除非重复执行 mysqldump 然后在本地重新导入。如果您的应用程序在内部进行适当的数据缓存,则它不必对只读副本进行 1:1 的缩放。如果应用程序中的数据缓存太差以至于您必须采用 1:1 的比例,那么我会回去重新调整应用程序或研究使用 memcache(ElastiCache)作为 RDS 读取缓存数据的中间存储。

相关内容