如何将RDS数据库移动到其他VPC


11

创建MySQL RDS数据库时,我没有选择VPC,因此它是在自动生成的“默认” VPC中创建的。现在,我无法将其添加到任何预定义的安全组中,也无法从现有VPC中的实例访问它。显而易见的解决方案是将其重新定位到适当的VPC,但似乎没有任何选项可以在“修改数据库实例”屏幕上编辑VPC。是否可以选择其他VPC,还是删除数据库并在正确的VPC中重新创建数据库的唯一选择?

Answers:


12

亚马逊最近发布了一个新闻稿,宣布您现在可以更改现有RDS实例的VPC:

您现在可以轻松更改您的Amazon RDS数据库实例使用的Amazon Virtual Private Cloud(Amazon VPC)。您可以使用Amazon RDS管理控制台,Amazon RDS API或AWS Command Line Tools为在Single-AZ配置中部署的现有数据库实例指定新的VPC。此外,如果您在EC2-Classic环境中运行数据库实例,则可以通过修改现有数据库实例来切换到EC2-VPC环境。如果您的AWS账户是在2013-12-04之前创建的,则可能在EC2-Classic环境中运行RDS。

此功能可用于Amazon RDS支持的所有区域,并且可用于所有受支持的MySQL,MariaDB,Microsoft SQL Server,Oracle和PostgreSQL版本。

请注意,仅在单可用区部署中运行的数据库实例支持此功能。如果要更改多可用区部署中数据库实例的VPC环境,可以将实例临时修改为单可用区部署,然后在更改为EC2-VPC环境后重新启用多可用区。


2
需要注意的一件事:您可以更改VPC,但数据库的可用区不会更改。因此,如果您的数据库位于us-west-2a子网中的VPC中,而另一个数据库在该AZ中没有子网,则它将不允许您更改为该VPC
Matt Dodge

10

简单-为当前RDS实例创建快照,然后将该快照还原到VPC中的新实例。


2
在我对多可用区部署说“是”之前,我一直禁用VPC下拉菜单。
伊恩·菲利普斯

加载快照时应如何处理添加的数据?有什么方法可以最大程度地减少停机时间?
iGili

RDS完全有能力充当另一个系统的MySQL解决方案,因此也许这是可行的方法。
EEAA 2014年

3

为了避免在迁移到新的VPC时发生停机,您应该为原始RDS群集设置Multi-AZ数据库实例,以便创建快照不会引起短暂的I / O暂停。群集还应该启用二进制日志记录,以便在将快照加载到新的VPC中时,可以在数据库之间设置复制,以恢复创建快照后可能已插入或更新的任何数据。

遵循RDS文档中的本指南

编辑

我必须使用RDS Aurora进行此操作,并且必须对上述指南进行一些修改:

  • 从Aurora快照还原时,无法设置参数组,因此实例将自动获取默认参数。实例可用后,更改参数以包括二进制日志记录并重新启动它。

  • 运行SHOW MASTER STATUS\G时不会为您提供正确的二进制日志文件和原始数据库在快照生成时的位置,实例的重新启动会创建一个新的二进制日志文件。而是运行SHOW BINARY LOGS;查找先前的日志文件和file_size并在设置复制时使用这些值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.