使用MySQL 5.7 for MySQL Aurora的RDS在不同区域之间快速迁移

时间:2019-04-28 13:58:45

标签: mysql amazon-web-services amazon-rds amazon-rds-aurora

从大型数据库(可能超过25GB)从 RDS MySQL 5.7 从圣保罗/巴西快速迁移到北弗吉尼亚州的 RDS Aurora 的更好的方法是什么?的转储)。

但是我不能让数据库停止超过3小时( 或更少),因为该数据库是公司的产品。

非常感谢您。

  • 在圣保罗地区没有MySQL Aurora(迁移的原因之一,除了成本是北维吉尼亚州的两倍外)

  • RDS仅在必要时可在迁移期间公开访问。

  • 我将无法使用多可用区。使用“ AWS数据库迁移服务”是否可行?

  • 我还必须迁移链接到该数据库的EC2和S3实例(主要是EC2),以避免延迟问题。

  • 迁移将停止,圣保罗地区的所有服务。

  • 我之前说过的主要原因是长期和短期成本的减少(将被视为使用预留实例)以及性能的降低,而实例EC2则避免了延迟和不稳定的问题。 / p>

1 个答案:

答案 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。它与原始上游实例永久且不可撤销地分离,并且可写。这是您要做的最后一件事,在应用程序开始写入此新数据库之后,您在圣保罗的原始系统已过时,因为对其所做的更改将不再复制到新系统中-它们将被永久隔离。

这种安排不需要您建立任何网络或公开访问数据库。

而且,您可以创建和销毁多个副本以测试此过程,而不会影响生产。