从大型数据库(可能超过25GB)从 RDS MySQL 5.7 从圣保罗/巴西快速迁移到北弗吉尼亚州的 RDS Aurora 的更好的方法是什么?的转储)。
但是我不能让数据库停止超过3小时( 或更少),因为该数据库是公司的产品。
非常感谢您。
在圣保罗地区没有MySQL Aurora(迁移的原因之一,除了成本是北维吉尼亚州的两倍外)
RDS仅在必要时可在迁移期间公开访问。
我将无法使用多可用区。使用“ AWS数据库迁移服务”是否可行?
我还必须迁移链接到该数据库的EC2和S3实例(主要是EC2),以避免延迟问题。
迁移将停止,圣保罗地区的所有服务。
我之前说过的主要原因是长期和短期成本的减少(将被视为使用预留实例)以及性能的降低,而实例EC2则避免了延迟和不稳定的问题。 / p>
答案 0 :(得分:0)
您尝试移动数据库 同时将引擎从MySQL更改为Aurora时犯了一个错误。
立即迁移MySQL 5.7系统,稍后再转换为Aurora。您无需麻烦,而同时执行这两个操作就是如此。
不可能“快速”迁移远距离的主数据库,但是可以使建立时间无关紧要,并且激活时间接近于零。
创建数据的RDS跨区域副本,而不是尝试进行复制,最后,将该副本提升为主版本。
在其他AWS区域中创建只读副本
使用Amazon RDS,您可以在与源数据库实例不同的AWS区域中创建MariaDB,MySQL或PostgreSQL只读副本。您创建一个只读副本来执行以下操作:
提高灾难恢复能力。
将读取操作扩展到更靠近您的用户的AWS区域。
使从一个AWS区域中的数据中心迁移到另一个AWS区域中的数据中心变得更加容易。
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn
RDS复制数据和设置副本所需的时间无关紧要,因为一旦复制,它就会开始复制自该过程开始以来主服务器上所有更改的内容。
一旦您确认所有内容都是正确且一致的,那么您promote a replica。它与原始上游实例永久且不可撤销地分离,并且可写。这是您要做的最后一件事,在应用程序开始写入此新数据库之后,您在圣保罗的原始系统已过时,因为对其所做的更改将不再复制到新系统中-它们将被永久隔离。
这种安排不需要您建立任何网络或公开访问数据库。
而且,您可以创建和销毁多个副本以测试此过程,而不会影响生产。